Skip to content


Switch branches/tags
This branch is 96 commits ahead, 1185 commits behind hypothesis:main.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Unofficial Hypothesis extension

BSD licensed

The unofficial Hypothesis extension allows you to annotate web documents using your Hypothesis account.

It is a fork of the official Hypothesis browser extension(s). Its main purpose is to provide a working extension for the Firefox browser. See this thread for more details.

To install on your Firefox browser, download it from here.

Screenshot of Hypothesis client

Extra features

As of v1.470.0.1, the Unofficial extension for Hypothesis enables some customization of the annotation client. Read more about it here.

Known bugs

  • Annotating local PDFs is not supported because Firefox is more restrictive than Chrome regarding extension access to local files. See issue #100.


Do you like this extension?

Please, star it here and review it on AMO.

Would you like to support its development and maintenance?

Buy me a coffee, or a beer ;)

Did you find a bug?

Please, report it here!

Do you have suggestions, or ideas for new features?

I’ll be happy to hear about them! Let’s discuss them here.


The code for the extensions is in the src/ directory, and can be built into a browser extension by running:

npm install
make SETTINGS_FILE=settings/firefox-prod-amo.json

Once this is done you should be able to load the build/ directory as an unpacked extension.

Use settings/firefox-prod-self.json for self distribution, instead of distribution through AMO ( This includes the update_url field in the manifest.json file to handle automatic updates of the self distributed extension.

The extension code has a test suite, which you can run using:

npm test

Note that the browser extensions are for the most part just a wrapper around the unofficial Hypothesis client. Depending on what you're interested in working on, you may need to check out the client repository too. If you do that, you can get the browser extension repository to use your checked-out unofficial-hypothesis-client repository by running

npm link

in the unofficial-hypothesis-client repository, and then

npm link unofficial-hypothesis

in the unofficial-browser-extension repository. After that, a call to make will use the built client from the client repository. Please consult the client's documentation for instructions on building the client in a development environment.

Tip: If you get a permission denied error when running npm link you probably need to fix npm's permissions. See Fixing npm permissions.

Tip: To unlink your dev browser extension from your dev client run npm unlink unofficial-hypothesis in your browser extension directory (see the npm uninstall docs).

See Building the extension for more information.


The unofficial Hypothesis extension is released under the 2-Clause BSD License, sometimes referred to as the "Simplified BSD License". Some third-party components are included. They are subject to their own licenses. All of the license information can be found in the included LICENSE file.


No packages published


  • JavaScript 84.1%
  • HTML 8.9%
  • Shell 4.5%
  • Makefile 2.1%
  • Dockerfile 0.4%