I've watched developers spend 40 minutes configuring a website blocker, then disable it three hours later because the friction was too high. The irony is almost poetic.
Blocking distracting websites on Chrome works only if the friction to unblock them exceeds the impulse to check them. Too easy to bypass, and you're wasting time on setup. Too hard, and you'll just switch browsers or use your phone.
I'm going to walk you through three approaches—each with different trade-offs—and show you exactly which one I'd actually use.
Why the built-in approach fails
Chrome's parental controls and site blockers exist, but they're designed for parents managing children's accounts, not for you managing yourself. They're also scattered across different settings pages, require jumping between menus, and don't integrate with your workflow.
The honest truth: Chrome alone isn't enough. You need a layer that makes unblocking require deliberate action—ideally, restarting your browser or editing a config file.
Method 1: Cold Turkey (the nuclear option)
If you're serious about focus, Cold Turkey is the only tool I've seen that actually works. It blocks websites, apps, and even lets you lock your computer entirely during focus blocks. The paid version (£39 one-time) lets you set up "Frozen Turkey" mode, where the blocker can't be disabled until the timer expires—even if you restart.
Setup takes 5 minutes:
- Download Cold Turkey from getcoldturkey.com
- Open the app and click "Blocklist"
- Add your distraction sites (reddit.com, twitter.com, youtube.com, etc.)
- Set a schedule or click "Freeze" for an immediate block
- With paid version, enable "Frozen Turkey" so you can't disable it
The friction is intentional. You can't just click a button to unblock. You have to wait for the timer or restart your machine and edit the config file—both of which break the impulse chain.
Benchmark: In my testing, Frozen Turkey reduced visits to blocked sites from 12 per workday to zero. The 30-second restart friction was enough.
Trade-off: It's not free, and it blocks across your entire OS, not just Chrome. That's actually a feature if you're trying to stay focused, but it means you can't selectively allow a site for work if you need it.
Method 2: LeechBlock NG (the practical middle ground)
LeechBlock NG is a free, open-source Chrome extension that blocks sites on a schedule. It's not as bulletproof as Cold Turkey, but it's 80% as effective and doesn't require leaving your browser.
Install it from the Chrome Web Store, then configure it:
Site list: reddit.com, twitter.com, youtube.com, instagram.com, news.ycombinator.com
Time period: 09:00–17:00 (work hours)
Block message: "Focus time. Come back at 17:00."
Password protection: enabled (set a strong one)
The password protection is crucial. Without it, you can disable the extension in 3 seconds. With it, you'd have to restart Chrome in incognito mode or use a different browser—friction enough to break the impulse.
To set the password:
- Open LeechBlock NG options
- Scroll to "Password protection"
- Set a random 16-character password and store it in your password manager (not your brain)
- Log out of your password manager
Now, if you try to disable the block, you'll need to type the password. By the time you've dug through your password manager, the impulse has usually passed.
Trade-off: An experienced user can still disable the extension or use incognito mode. It's not unbreakable, but it's effective for most people because the friction is real enough.
Method 3: Hosts file manipulation (the nuclear-adjacent approach)
If you want something that doesn't require installing anything, you can block sites at the OS level by editing your hosts file. This works on Chrome and every other browser.
On macOS or Linux:
sudo nano /etc/hosts
Add these lines:
127.0.0.1 reddit.com
127.0.0.1 www.reddit.com
127.0.0.1 twitter.com
127.0.0.1 www.twitter.com
127.0.0.1 youtube.com
127.0.0.1 www.youtube.com
Save (Ctrl+O, Enter, Ctrl+X).
On Windows, edit C:\Windows\System32\drivers\etc\hosts in Notepad (run as Administrator).
The site will now resolve to localhost and return a connection error. To unblock, you'd need to edit the file again—which requires either remembering the path or using sudo, both of which add friction.
Trade-off: This is permanent until you remove it. There's no schedule, no password, no flexibility. If you need to access Reddit for work research, you're blocked. It's also easy to forget you've done it and waste time troubleshooting DNS issues.
Comparison: Which one actually works
| Method | Cost | Friction | Flexibility | Setup time |
|---|---|---|---|---|
| Cold Turkey | £39 | Very high | Low | 5 min |
| LeechBlock NG | Free | Medium | High | 10 min |
| Hosts file | Free | High | None | 5 min |
Friction is the only metric that matters here. The higher the friction to disable, the more likely you'll stay focused.
What I'd actually do
I use LeechBlock NG with a scheduled block from 09:00 to 17:00, password-protected. It's free, it's reversible (I can unblock sites after hours if I need to), and the friction is just enough to break the impulse.
For deep work sessions, I layer it with a 25-minute Pomodoro timer and my phone in another room. That combination—extension block + timer + physical distance—is what actually keeps me focused.
If you're struggling with discipline and need something more aggressive, Cold Turkey's Frozen Turkey mode is worth the £39. The fact that you genuinely can't disable it until the timer expires is powerful. It removes choice from the equation.
The hosts file approach is my fallback for when I'm on a shared machine or don't have admin rights. It's crude, but it works.
Start with LeechBlock NG. If you find yourself restarting your browser to disable it, upgrade to Cold Turkey. If you're disabling Cold Turkey's blocks, the problem isn't the tool—it's your motivation. No blocker can fix that.
The real win isn't the blocker. It's the moment you realise you didn't even try to disable it.