Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Annotation tools for the web. Select text, images, or (nearly) anything else, and add your notes.
JavaScript HTML CSS CoffeeScript
Failed to load latest commit information.
.tx Add transifex-client configuration (see…
contrib Reference `annotator` as an external dependency
css Replacing ::after with :after in css for older browsers.
doc Update docs to recommend newer jQuery version
example/openshakespeare conditional comments for IE-only json2.js
img Add permalink detection and display to Viewer.
locale Fixed the broken building of the i18n template. (Which did not make t…
src Fix drawAll in Highlighter plugin
test Reduce showdown message to warning
tools Fix and simplify build process
.ackrc Add .ackrc to ignore files in lib/ and pkg/
.gitignore Add packaging directories to .gitignore
.jscsrc Add jshint and jscs configuration
.jshintignore Add jshint and jscs configuration
.jshintrc Forbid use of coercive equality operator
.travis.yml Specify a single node version
AUTHORS Add Fernando Aramendi to AUTHORS
HACKING.rst Convert README and HACKING to RST for consistency
LICENSE Add licenses
LICENSE-GPL Add licenses
LICENSE-MIT Add licenses
Makefile Fix and simplify build process
README.rst Add Sauce build matrix
demo.html Fix and simplify build process
dev.html Removed unused variable in dev.html
karma.conf.js Upgrade to browserify 8 and karma-browserify 2
manifest.json first pass at chrome
markup.html Embed jQuery in the built annotator
package.json Fix and simplify build process



Build Status Version on NPM

Build Matrix

│ WARNING! Unstable code in this branch!               │
│ Please be aware that the current stable release of   │
│ Annotator is v1.2.9 and can be found on the releases │
│ page (see below) or the v1.2.x branch.               │
│                                                      │
│ The code in the master branch is what will become    │
│ v2.0 in due course, but is likely to have a highly   │
│ unstable API. You are advised NOT to build on the    │
│ contents of the master branch at this stage unless   │
│ you are happy dealing with APIs breaking frequently! │

Annotator is a JavaScript library for building annotation systems on the web. It provides a set of tools to annotate text (and other content) in webpages, and to save those annotations to a remote storage system. For a simple demonstration, visit the Annotator home page or download a tagged release of Annotator from the releases page and open demo.html.

Annotator aims to provide a sensible default configuration which allows for annotations of text in the browser, but it can also be extended in order to provide:

  • persistence: storage components help you save your annotations to a remote server. One notable example is the HTTPStorage component which ships with Annotator and talks to the annotator-store API.
  • rich metadata: the |DocumentPlugin|_ sniffs the page on which annotations are being made for document metadata (such as that provided by Dublin Core tags or the Facebook Open Graph) that allows you to enrich the presentation of these annotations.
  • authentication and authorization: the Auth component allows you to restrict the creation of annotations to logged in users, while the Permissions component allow you fine-grained control over who has permission to create and update annotations.

For a list of plugins that ship with Annotator, see the plugin pages of the Annotator documentation. For a list of 3rd party plugins, or to add your plugin, see the list of 3rd party plugins on the wiki.


See Getting started with Annotator.

Writing a plugin

See Plugin development.


See HACKING.rst.

Reporting a bug

Please report bugs using the GitHub issue tracker. Please be sure to use the search facility to see if anyone else has reported the same bug -- don't submit duplicates.

Please endeavour to follow good practice for reporting bugs when you submit an issue.

Lastly, if you need support or have a question about Annotator, please do not use the issue tracker. Instead, you are encouraged to email the mailing list.


The Annotator project has a mailing list, annotator-dev, which you're encouraged to use for any questions and discussions. It is archived for easy browsing and search at gmane.comp.web.annotator. We can also be found in the #annotator channel on Freenode.

Something went wrong with that request. Please try again.