The editor

The text module: classes with hotkeys on the left, the document center, and every span in the Entities panel with exact character offsets.
Label a span
Arm the class
Highlight the text
Repeat, then submit

Spans render inline with class colors, readable at a glance even with five entity types in one sentence.
The Entities panel
Every span lists on the right, grouped by class, with its exact character offsets (like 38–52). Offsets are the ground truth NER training expects, and having them visible makes disputes precise: a reviewer can say “the Person span at 38–52 clips the surname” instead of describing a highlight.
The entities panel: per-class grouping, character offsets, and a filter for long documents.
Working notes
- Punctuation discipline. Decide in your Guidelines whether spans include trailing punctuation and honor it; offset-level consistency is what NER models learn from.
- Overlaps and nesting are schema decisions: “Kennedy Space Center” as one Location or “Kennedy” as a Person inside it is a policy, not a preference.
- CSV row mode scales. A thousand-row CSV becomes a thousand-task queue in one upload, with the workflow, review and metrics machinery working as usual.
- Agents fit naturally here. A configured NER agent can propose spans that humans verify, the text counterpart of model pre-labeling.
Frequently asked questions
How do I fix a wrong span?
How do I fix a wrong span?
How does text data export?
How does text data export?
What about document-level classification?
What about document-level classification?