Overview

Annotations

Areas, arrows and notes on an image, kept in one format your tools can share.

Get started
A soft marble texture in coral, sand and blue, with three annotations
A quieter corner
  1. Keep context beside the image.

Principles

  • Store one versioned format. Annotations live in one version 1 JSON document, and an unknown version throws instead of being guessed.

  • Place marks in percent. Coordinates are percentages of the image, so every mark keeps its place at any size.

  • Check input at the edge. Parsing clamps coordinates, drops invalid marks, and escapes marker text except strong, em and code.

  • Render without a browser. The same document renders to HTML on the server, with no DOM needed.

  • Leave storage to the host. The editor reports every change through onChange, and your code decides where the document goes.

  • Edit from the keyboard. Marks can be created, selected, moved and deleted with keys, and one drag is one undo step.