How to Keep Your Mac's Hosts Blocklists Up to Date

A hosts blocklist is a snapshot. Its maintainers add new ad, tracker and malware domains every week, and remove ones that broke real sites. A copy you installed months ago misses the new ones and keeps the mistakes.

The manual way

To refresh a list by hand you download it again, put back any lines you changed, write the result to /etc/hosts, and flush the DNS cache:

curl -fsSL https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts -o ~/hosts.new
# re-apply your own edits to ~/hosts.new, then:
sudo cp ~/hosts.new /etc/hosts
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

It works, but it is easy to forget, and a half-finished download can leave you with a broken hosts file.

The SaneHosts way

Your changes survive

An update merges the new lists into your profile. Entries you turned off stay off, and your custom redirects stay put. If a list fails to download, nothing changes: the profile and your hosts file stay exactly as they were.

Sites on your Allowed Sites list stay unblocked after every update.

Which lists are worth keeping current?

SaneHosts ships 30 maintained lists in 8 categories, including Steven Black, Hagezi, AdGuard and malware lists. Every list in the catalog downloads, has been updated in the past year, and is labeled with its real size.

Try it on your Mac
14-day trial

SaneHosts manages your Mac's hosts file for you: pick a protection level, allow the sites you need, keep lists current, and lock it if you want. Try it free for 14 days, then $14.99 once. No subscription.

Get SaneHosts

Works on macOS 14 (Sonoma) and later.

Questions

How often should I update hosts blocklists?

Once a week is plenty for most people. The big lists change daily, but a weekly refresh catches nearly all new ad and tracker domains.

Will an update undo the entries I turned off?

No. SaneHosts keeps entries you turned off and your custom redirects when it merges fresh lists.

What happens if a list is offline?

Nothing changes. SaneHosts keeps your current profile and hosts file and tells you which list failed.

Related guides