lightweight-website-blocker

Lightweight Website Blocker

This Chrome extension blocks a list of user-specified domains. The initial motivation was to create a tool to help me focus while also learning about Chrome Manifest V3. However, I found this tool super helpful to prevent me from “automatically” navigating to distracting websites, so I wanted to share it with others. Built with JavaScript, HTML, CSS, Puppeteer, and Jest.

Download the free extension in the Chrome Web Store: Lightweight Website Blocker

Initial list of blocked sites is defined in INITIAL_SITES_TO_BLOCK at background.js:

If this tool has helped you focus better, please buy me a coffee =).

How to run locally

  1. git clone this repo to a local directory
  2. Navigate to chrome://extensions on the Chrome browser
  3. Toggle on “Developer mode”
  4. Click on “Load unpacked” and in the popup, navigate to the folder where this repo was saved and select the root folder
  5. Once the extension is loaded, it should be displayed under “All extensions”
  6. Locate and pin the extension
  7. Click on the extension, and add a new URL, formatted as domain.com (ex: espn.com or youtube.com)
  8. Navigate to the domain - it should be blocked

For any questions, refer to instructions on the Google Chrome page, Load an unpacked extension.

Version history

0.0.2, updated 2025-12-05

0.0.1, updated 2025-10-21