Skip to content
brat rapid annotation tool (brat) - for all your textual annotation needs
Python JavaScript HTML CSS Shell Perl Makefile
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
client Fix encoding problem in hash Apr 9, 2019
configurations Implement Arcs bundle:hide Sep 7, 2018
example-data Sentence splitting pre-processing broken, remove hard newlines Nov 6, 2012
external Compatibility issue with `readlink` fixed Dec 21, 2012
res This should settle it. Sep 10, 2012
server Fix for Python 3.8: cgi.escape moved to html.escape Jan 20, 2020
static Allow selection in case of multiple normalisations Dec 17, 2018
tools Update the troubleshooting script to Python3 Jul 12, 2019
.gitignore Ignore default data and work directories Oct 11, 2012
.htaccess fix more unicode and json; annotations work in python3! Jul 8, 2018 Fix a few typos Oct 21, 2015 Add benman1 as major contributor, remove simplejson Sep 3, 2018 Fixes #1122 (MIT-licenced sprintf library) Nov 4, 2014 Add benman1 as major contributor, remove simplejson Sep 3, 2018
ajax.cgi Fix Unicode bug Mar 22, 2019
ajax.fcgi Protecting sys.path with a thread lock for #612. Jan 6, 2012 Separate script for finding apache user. Nov 6, 2012 Don't match the script itself Nov 6, 2012 python 3; fix imports and formatting Jul 6, 2018
diff.xhtml Closes #1088 (diff argument on URL, better error) Nov 11, 2014
favicon.ico Added favicon.ico Jan 28, 2011
index.html Added DirectoryIndex. Fixes #103 Apr 20, 2011
index.xhtml Merge branch 'paging' Sep 3, 2018 Add benman1 as major contributor, remove simplejson Sep 3, 2018
lighttpd.conf Spelling correction. Sep 13, 2011
lighttpd_fcgi.conf Multiple processes for LigHTTPD. Sep 13, 2011
offline.xhtml Closes #1124, #1109 (jQuery{,UI,SVG} version up) Nov 7, 2014 Change to use Python3 Jun 25, 2019 fix import order Jul 8, 2018
tutorial.cgi fix more unicode and json; annotations work in python3! Jul 8, 2018

brat rapid annotation tool (brat)


In an attempt to keep all user-facing documentation in one place, please visit the brat homepage which contains extensive documentation and examples of how to use and configure brat. We apologise for only providing minimal documentation along with the installation package but the risk of having out-dated documentation delivered to our end-users is unacceptable.

If you find bugs in your brat installation or errors in the documentation, please file an issue at our issue tracker and we will strive to address it promptly.

About brat

brat (brat rapid annotation tool) is based on the stav visualiser which was originally made in order to visualise BioNLP'11 Shared Task data. brat aims to provide an intuitive and fast way to create text-bound and relational annotations. Recently, brat has been widely adopted in the community. It has been used to create well-over 50,000 annotations by the Genia group and several other international research groups for a number of annotation projects.

brat aims to overcome short-comings of previous annotation tools such as:

  • De-centralisation of configurations and data, causing synchronisation issues
  • Annotations and related text not being visually adjacent
  • Complexity of set-up for annotators
  • Etc.

brat does this by:

  • Data and configurations on a central web server (as Mark Twain said: "Put all your eggs in one basket, and then guard that basket!")
  • Present text as it would appear to a reader and maintain annotations close to the text
  • Zero set-up for annotators, leave configurations and server/data maintenance to other staff


brat itself is available under the permissive MIT License but incorporates software using a variety of open-source licenses, for details please see see


If you do make use of brat or components from brat for annotation purposes, please cite the following publication:

    author      = {Stenetorp, Pontus and Pyysalo, Sampo and Topi\'{c}, Goran
            and Ohta, Tomoko and Ananiadou, Sophia and Tsujii, Jun'ichi},
    title       = {{brat}: a Web-based Tool
            for {NLP}-Assisted Text Annotation},
    booktitle   = {Proceedings of the Demonstrations Session
            at {EACL} 2012},
    month       = {April},
    year        = {2012},
    address     = {Avignon, France},
    publisher   = {Association for Computational Linguistics},

If you make use of brat or its components solely for visualisation purposes, please cite the following publication:

  author    = {Stenetorp, Pontus and Topi\'{c}, Goran and Pyysalo, Sampo
      and Ohta, Tomoko and Kim, Jin-Dong and Tsujii, Jun'ichi},
  title     = {BioNLP Shared Task 2011: Supporting Resources},
  booktitle = {Proceedings of BioNLP Shared Task 2011 Workshop},
  month     = {June},
  year      = {2011},
  address   = {Portland, Oregon, USA},
  publisher = {Association for Computational Linguistics},
  pages     = {112--120},
  url       = {}

Lastly, if you have enough space we would be very happy if you also link to the brat homepage:

...the brat rapid annotation tool\footnote{


As with any software brat is under continuous development. If you have requests for features please file an issue describing your request. Also, if you want to see work towards a specific feature feel free to contribute by working towards it. The standard procedure is to fork the repository, add a feature, fix a bug, then file a pull request that your changes are to be merged into the main repository and included in the next release. If you seek guidance or pointers please notify the brat developers and we will be more than happy to help.

If you send a pull request you agree that the code will be distributed under the same license as brat (MIT). Additionally, all non-anonymous contributors are recognised in the file.


For help and feedback please contact the authors below, preferably with all on them on CC since their responsibilities and availability may vary:

  • Goran Topić <amadanmath gmail com>
  • Sampo Pyysalo <sampo.pyysalo gmail com>
  • Pontus Stenetorp <pontus stenetorp se>
You can’t perform that action at this time.