FocusLock is a strict productivity Chrome extension that blocks distracting websites for a fixed duration — with no option to unlock early.
Once you lock a site, you're committed until the timer ends. No cheating.
| Normal Mode | Panic Mode | History | Settings |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Block any website by entering its domain
- Or use “Use Current Tab” 🌐 to instantly block the site you're on
Choose how long to block:
- 2 hours
- 4 hours
- 6 hours
- 8 hours
- 12 hours
- 24 hours
- Custom duration (minutes / hours / days)
⚠️ Once locked, it cannot be undone manually
Block multiple sites instantly:
- Social Media
- News
- Video
- Gaming
- Blocks everything except optional whitelist
- Perfect for deep work sessions
- Blocked page shows real-time countdown (HH : MM : SS)
- Syncs perfectly with the actual lock duration
- Tracks how many times you tried to open a blocked site
- Displays on the blocked page:
“You've tried 7 times. Stay strong.”
- Tracks how many days you've stayed consistent using FocusLock
- See all previous blocks:
- Sites blocked
- Duration
- Frequency
- Backup your blocked sites list as JSON
- Restore anytime
- Random quotes on blocked page to keep you focused
- Download or clone this repository
- Go to
chrome://extensions - Enable Developer Mode (top right)
- Click Load unpacked
- Select the extension folder
- Done — the 🔒 icon will appear in your toolbar
- Uses Chrome's declarativeNetRequest API to enforce blocking
- Background script tracks navigation and stores blocked domains
- Redirects blocked sites to a custom blocked page with countdown
- Timer is stored in
chrome.storageand synced across UI
FocusLock is intentionally designed to be hard to bypass.
There is:
- ❌ No unblock button
- ❌ No “just this once” option
- ❌ No temporary override
You decide once — and commit.
- Users could still disable the extension manually via Chrome
- Works best when you commit to using it honestly
If you like this project:




