How to Block a Website on a Mac, and What Can Limit a Block

· first published 28 August 2026

A browser extension blocks a website in that browser only. Open a different browser, or use an app that fetches the same address in the background, and the block does nothing. To cover everything on the Mac you need to block below the browser, which means either editing a system file by hand or using a firewall app.

Here are three system or network-level methods, plus browser extensions. Each has limits.

Method 1: a firewall app

A firewall app can apply a website rule across apps on the Mac. That scope does not guarantee a match: the system or firewall still needs to identify the website.

In MiniFirewall: open Blocks, press plus, choose Website, type the name, and choose Every app on this Mac. Before saving, it tells you what else the block covers, because blocking example.com also covers www.example.com, mail.example.com and everything else beneath it. That warning matters, since the difference between blocking one page and blocking a company’s entire mail system is easy to miss.

You can also block a website for one app only, leaving the same site reachable elsewhere. Both scopes depend on identifying the website, and a one-app rule also needs to identify the responsible program. Browser-encrypted lookups and hidden connection names can prevent a match. Cloudflare hosting alone does not determine whether a block works.

In MiniFirewall’s Traffic screen, choose Show me under Missing a website? for browser-specific checks. Turning browser secure DNS off can improve compatibility, but reduces lookup privacy unless the Mac or network still encrypts those lookups. It does not guarantee coverage. Save your work and fully quit and reopen the browser before testing a new connection.

Cost: you have to install something. Benefit: rules can apply across apps, blocks are reversible in one click, and nothing needs the Terminal. Website identification remains a limitation.

Method 2: the hosts file

macOS keeps a file at /etc/hosts that maps names to addresses. Point a name at 127.0.0.1 and requests for it go nowhere.

It is free and it does work system-wide. The limits are real:

If you go this route, keep a note of what you added and why. Future you will not remember.

Cost: the Terminal, administrator rights, and no subdomain handling. Benefit: free, no software.

Method 3: your router or a DNS service

Most routers, and DNS services like those offered for family filtering, let you block names for every device on the network at once. If the goal covers phones and tablets as well as the Mac, this is the efficient place to do it.

Cost: covers the whole network whether you wanted that or not, and does not follow you to other networks. Benefit: one change protects every device, including ones you cannot install software on.

What does not work everywhere: browser extensions

A content blocker in Safari, Chrome or Firefox is excellent at what it does and covers exactly one browser. Everything else on the Mac, including apps that quietly fetch from the same address, is untouched.

That is fine when the goal is a cleaner browsing experience. It is not a block.

Which method should I use?

GoalMethod
Apply a website rule across apps, subject to identification limitsFirewall app
Stop it for one app but not othersFirewall app, scoped to that app
Stop it on every device in the houseRouter or DNS service
Stop it, free, and you are comfortable in a TerminalHosts file
Tidier browsing, one browserContent blocker extension

Why does blocking a website also block its subdomains?

Because that is almost always what you meant. A company does not serve everything from one name; it spreads across www, api, cdn, mail and more. Blocking only the bare name would leave most of it reachable and give you a false sense that you had done something.

The corollary is that a block is wider than it looks, so a tool should tell you before you confirm rather than after. Blocking example.com covers every name ending in it, including ones you may depend on.

How do I undo it?

This is worth checking before you block anything. In a firewall app, a block should be pausable rather than only deletable, so you can turn it off, confirm that was the cause, and turn it back on without retyping anything.

If you used the hosts file, undoing means editing the file again and removing the line, which is why the note to yourself matters.

Sources

MiniFirewall

MiniFirewall is a Mac app (macOS 13.0 or later, Apple Silicon and Intel) that shows recorded network connections and lets you create website, app, and address blocks. Some privacy settings hide website names and limit website blocking. It never interrupts you with connection-approval questions: nothing is blocked until you say so. Your traffic stays on your Mac. Nothing is collected, nothing is sold, and there are no ads.

Get MiniFirewall on the Mac App Store