home | introduction | examples | features | manual | site map | contact

brat features

This page presents an overview of brat features. For detailed instructions, see the brat manual.

Comprehensive visualization

The brat annotation visualization is based on the concept of "what you see is what you get": all aspects of the underlying annotation are visually represented in an intuitive way.

feature example
Annotation visualization

Intuitive editing

Annotation editing is mouse-based and uses intuitive "gestures" familiar from text editors, presentation software, and many other tools. To mark a span of text, simply select it with the mouse by "dragging" or by double-clicking on a word.

feature example
Selecting text for annotation

Connecting annotations, for example adding a relation between two annotations, is equally simple: click with the mouse on one annotation and drag a connection to the other.

feature example
Connecting annotations

Integration with external resources

As of v1.3 (Crunchy Frog), brat includes support for normalization and various features for associating annotations with data in external database, lexical and ontological resources such as Freebase, Wikipedia, and Open Biomedical Ontologies.

normalization example
Showing information from Wikipedia

Zero setup

brat is built entirely on standard web technologies, and it is not necessary to install any local software or browser plugins to use it.

An annotator can "set up" and start using brat simply by entering the address of the brat installation into the address bar of a browser.

(Setting up an entirely new brat server does require some action, but can be done in just five minutes on any system running a web server.)

Annotation of texts in any language

Both the brat server and client implement full Unicode support, thus supporting nearly 100 different scripts.

feature example
Annotation of text in kanji

Text documents in any language can be converted into UTF-8 encoded Unicode, which can be annotated in brat identically to texts in ASCII format.

Integrated annotation comparison

As of version 1.3, brat includes a number of features for comparing multiple sets of annotations for the same documents, including automatic comparison for identifying and marking differences and side-by-side visualization.

feature example
Side-by-side comparison of annotations.

Such comparisons can be used to evaluate automatic systems or the agreement between human annotators, and visualization of differences can help quickly identify common sources of error.

An address for each annotation

Every brat annotation can be uniquely addressed within the brat server. Together with the URL of the server, this form of addressing provides a globally unique address for every brat annotation.

feature example
Focusing an annotation with a given URL
feature example

Entering such an address into a browser will not only show the relevant document, but brat will further highlight and center the specific annotation. These addresses can thus be used in email and online documentation and discussions to simply and unambiguously refer to any annotation in brat.

The address for each annotation can be easily accessed from a dialog shown by double-clicking on an annotation.

Integration with automatic annotation tools

brat implements a simple interface for integrating the output of automatic text annotation tools accessible as web services into annotation efforts.

feature example
Invoking automatic annotation tools as web services with one click

brat also features transparent integration with state-of-the-art methods for basic annotation support such as sentence splitting (English and Japanese) and tokenization (Japanese).

High-quality visualization at any scale

The visualization of brat is based on Scalable Vector Graphics (SVG), which can be rendered in arbitrary detail and precision.

feature example
Zoomed in on an annotation

brat annotation visualizations are thus inherently print quality and can be used as figures in publications to illustrate annotations.

SVG allows the built-in zoom functions of the browser to be used for closeups or for a high-level view of the annotations of a document.

feature example
Zoomed out for an overview

Easy export in multiple formats

Annotations created in brat can be exported with a few clicks from the interface in a simple standoff format that can be easily analysed, processed, and converted into other formats.

Visualizations can be similarly be exported in their native SVG format, rendered as a bitmap (PNG format), or converted into other vector formats for embedding into documents (PDF or EPS).

Always saved, always up to date

brat eliminates any risk of losing annotation efforts to tool crashes, forgetting to save work, or even complete failure of an annotator's computer by transparently communicating all edit operations by annotators to the brat server as they are done.

Similarly, in maintaining a single authoritative version of data shared by all annotators working on a project, the brat server removes the possibility of conflicting versions of annotations arising or out-of-date data being used as well as the need for annotators to use a separate version control system for coordinating their work.

Real-time collaboration

The brat client-server architecture and design allow multiple annotators to work simultaneously on the same collection of document, or even on the same document, seeing each other's edits nearly as they are made (some delay is inherent in the communication).

All edit operations are coordinated by the server to assure that the annotation remains coherent even if multiple users attempt to simultaneously modify a single annotation.

Detailed annotation process measurement

brat can optionally be configured to record the precise time that an annotator opens a document, each edit action, and even the time spent selecting the type to assign to an annotation after selecting where to place it.

Rich set of annotation primitives

brat provides a rich set of basic categories of annotation: marking for text spans (for e.g. entity annotation), binary relations, equivalence classes, n-ary associations (for e.g. event annotation) and attributes can be applied together in any combination for defining specific annotation tasks.

Some of the many annotation tasks to which brat can be applied are presented on the examples page.

Fully configurable

All aspects of annotation are configured using a simple declarative configuration language. Each document collection has its own configuration, allowing a single brat server to host many projects with different annotation targets.

Additionally, most aspects of the visualization such as font, annotation "box" and "arc" colors as well as arrow head and arc drawing style can be controlled in detail using well-documented and widely known HTML/CSS style specifications.

For details on how to configure brat, see the configuration page

Always validated

brat incorporates annotation validation capable of checking all the constraints that can be defined in its expressive configuration.

The validation of annotations created in brat is not isolated into a separate process but closely integrated into the annotation process: the validity of annotations is checked after every edit option, giving annotators immediate feedback with simple visual hints.

feature example
Example incomplete annotation and details

Annotations that lack some mandatory part are not given a colored fill and given a gray highlight. Placing the mouse over such an annotation provides the details of the issues detected by the annotation verifier.

feature example
Example annotation with error and details

Annotations that have extra or erroneous parts are given a red "halo" that indicates a problem with the annotation. Again, placing the mouse over such an annotation details the detected issues.


brat implements a full set of functions for searching documents or document collections for annotation of any type with a detailed set of configurable constraints.

feature example
Text search with advanced settings shown


brat supports basic key-word-in-context (KWIC) style concordancing of search results.

feature example
Search results with concordancing

Next: how to use it