Tag reference
Every tag you can use inside a <View> block in a labelling
configuration. Auto-generated from the schema at
web/libs/core/src/lib/utils/schema/tags.json — the same
schema the labeller renders from, so the docs and the runtime
are always aligned on attributes + defaults.
Tags pair via the name=... / toName=... link: a control tag
(e.g. <Choices name="sent" toName="txt">) operates on an
object tag (<Text name="txt" value="$content">). Visual tags
(<View>, <Header>, <Style>) shape layout but don't
produce annotations.
Tags marked with the platform name are AfriAnnotate-specific — added on top of the upstream Label Studio tag library for use cases particular to African-language data work.
Object tags
Declare the data being labelled (what the annotator sees) — image, text, audio, video, etc.
| Tag | Description |
|---|---|
<Audio> | The Audio tag plays audio and shows its waveform. Use for audio annotation tasks where you want to label regions of audio, see the waveform, and manipulate audio during annotation. |
<AudioRecord> (AfriAnnotate) | The AudioRecord tag lets annotators record audio in-browser via the microphone — useful for ASR corpus collection, pronunciation comparison, voice prompts. Captures WebM/Opus by default with configurable bitrate, sample rate, and noise/echo cancellation. Optional live waveform display while recording. |
<AudioTextAlign> (AfriAnnotate) | The AudioTextAlign tag pairs an audio clip with its transcript and lets annotators align words / tokens to time positions in the audio. Useful for forced-alignment correction, prosody annotation, and building TTS training corpora. |
<Channel> | Channel tag can be used to label time series data |
<HyperText> | displays hypertext markup for labeling. Use for labeling HTML-encoded text and webpages for NER and NLP projects. |
<Image> | shows an image on the page. Use for all image annotation tasks to display an image on the labeling interface. |
<ImageRecord> (AfriAnnotate) | The ImageRecord tag lets annotators take photos with the device camera or choose them from the device inside a task, with optional location, for field data collection. Describe the photos with Choices, Select, TextArea and other control tags pointed at it. |
<List> | is used to display a list of similar items like articles, search results, etc. Task data in the value parameter should be an array of objects with id, title, body, and html fields. |
<MultiChannel> | MultiChannel tag for grouped display of channels on the same plot |
<MultiModalCanvas> (AfriAnnotate) | Binds several time-based object tags (Audio, Video, AudioTextAlign) into ONE labeling surface with ONE playhead and ONE shared-region timeline. Payoff for the 'one recording, many views' pattern common in speech, gesture, and audio-video corpus annotation. |
<Paragraphs> | displays paragraphs of text on the labeling interface. Use to label dialogue transcripts for NLP and NER projects. |
<Pdf> | is used to display a PDF document from a URL. |
<Table> | is used to display object keys and values in a table. |
<Text> | shows text that can be labeled. Use to display any type of text on the labeling interface. |
<TimeSeries> | can be used to label time series data. Read more about Time Series Labeling in the templates gallery. |
<Video> | Video tag plays a simple video file. Use for video annotation tasks such as classification and transcription. |
<VideoRecord> (AfriAnnotate) | The VideoRecord tag lets annotators record short video clips (with audio) from the webcam in response to a prompt — built for sign-language collection, gesture elicitation, and read-and-sign tasks. Optional live skeleton (limb) tracking captures per-frame pose keypoints alongside the clip. |
<VideoTiers> (AfriAnnotate) | multi-tier video annotation — stacked, time-locked tiers (sign gloss / mouthing / non-manual / translation, gesture segmentation) over a video with frame-accurate boundaries; same payload and .eaf path as AudioTextAlign. |
Control tags
Declare the annotation type (what the annotator does) — labels, choices, rectangles, brushes, etc. Each control tag links to an object tag via toName=.
| Tag | Description |
|---|---|
<Bitmask> | pixel-wise image segmentation without a built-in label list — brush/erase a mask on the image; outputs a Base64 PNG data URL. |
<BitmaskLabels> | for pixel-wise image segmentation tasks is used in the area where you want to apply a mask or use a brush to draw a region on the image. |
<Brush> | is used for image segmentation tasks where you want to apply a mask or use a brush to draw a region on the image. |
<BrushLabels> | for image segmentation tasks is used in the area where you want to apply a mask or use a brush to draw a region on the image. |
<Choice> | represents a single choice for annotations. Use with the Choices tag or Taxonomy tag to provide specific choice options. |
<Choices> | is used to create a group of choices, with radio buttons or checkboxes. It can be used for single or multi-class classification. Also, it is used for advanced classification tasks where annotators can choose one or multiple answers. |
<DateTime> | The DateTime tag adds date and time selection to the labeling interface. Use this tag to add a date, timestamp, month, or year to an annotation. |
<Dialog> | renders a read-only chat-style transcript (speaker, text, date, hint, selected message) from an array in task data. Display only. |
<Ellipse> | is used to add an elliptical bounding box to an image. Use for bounding box image segmentation tasks with ellipses. |
<EllipseLabels> | creates labeled ellipses. Use to apply labels to ellipses for semantic segmentation. |
<HyperTextLabels> | creates labeled hyper text (HTML). Use with the HyperText object tag to annotate HTML text or HTML elements for named entity recognition tasks. |
<KBRef> (AfriAnnotate) | Attach a concept from a curated Knowledge Base to a region. Autocomplete search against the KB's entries (label, aliases, external_id). The standard building block for entity linking / concept grounding on top of NER-style span labels. |
<Select> (AfriAnnotate) | Searchable single or multi select over a complete built-in dataset (every ISO language, country, script or currency) or a custom list, with region, country and code filters; results stored like Choices. |
<KeyPoint> | is used to add a key point to an image without selecting a label. This can be useful when you have only one label to assign to the key point. |
<KeyPointLabels> | creates labeled keypoints. Use to apply labels to identified key points, such as identifying facial features for a facial recognition labeling project. |
<Label> | represents a single label. Use with the Labels tag, including BrushLabels, EllipseLabels, HyperTextLabels, KeyPointLabels, and other Labels tags to specify the value of a specific label. |
<Labels> | provides a set of labels for labeling regions in tasks for machine learning and data science projects. Use the Labels tag to create a set of labels that can be assigned to identified region and specify the values of labels to assign to regions. |
<Magicwand> | makes it possible to click in a region of an image a user is doing segmentation |
<Number> | The Number tag supports numeric classification. Use to classify tasks using numbers. |
<PagedView> | shows its children one page at a time with a pager, Alt+Arrow hotkeys and URL-synced page number; what <Repeater mode="pagination"> expands into. |
<Pairwise> | is used to compare two different objects and select one item from the list. If you want annotators to compare two objects and determine whether they are similar or not, use the Choices tag. |
<Panel> | one collapsible section inside Collapse: a header (value) plus any block of tags, which can start open or closed independently. |
<ParagraphLabels> | creates labeled paragraphs. Use with the Paragraphs tag to label a paragraph of text. |
<Polygon> | is used to add polygons to an image without selecting a label. This can be useful when you have only one label to assign to the polygon. Use for image segmentation tasks. |
<PolygonLabels> | is used to create labeled polygons. Use to apply labels to polygons in semantic segmentation tasks. |
<Ranker> | is used to rank items in a List tag or pick relevant items from a List, depending on using nested Bucket tags. |
<Rating> | adds a rating selection to the labeling interface. Use for labeling tasks involving ratings. |
<Rectangle> | is used to add a rectangle (Bounding Box) to an image without selecting a label. This can be useful when you have only one label to assign to a rectangle. |
<RectangleLabels> | creates labeled rectangles. Use to apply labels to bounding box semantic segmentation tasks. |
<Relation> | represents a single relation label. Use with the Relations tag to specify the value of a label to apply to a relation between regions. |
<Relations> | is used to create label relations between regions. Use to provide many values to apply to the relationship between two labeled regions. |
<Shortcut> | to define a shortcut that annotators can use to add a predefined object, such as a specific label value, with a hotkey or keyboard shortcut. |
<Taxonomy> | is used to create one or more hierarchical classifications, storing both choice selections and their ancestors in the results. Use for nested classification tasks with the Choice tag. |
<TextArea> | is used to display a text area for user input. Use for transcription, paraphrasing, or captioning tasks. |
<TypedFeature> (AfriAnnotate) | Renders a form of typed attributes (string / boolean / int / float / link / concept_kb_ref) on a region. Attributes come from a Typed Feature Layer defined at the project level. INCEpTION-style structured annotation on top of NER-style spans. |
<TimeSeriesLabels> | is used to create a labeled time range. |
<TimelineLabels> | Use the TimelineLabels tag to classify video frames. This can be a single frame or a span of frames. |
<Vector> | is used to add vectors to an image without selecting a label. This can be useful when you have only one label to assign to the vector. Use for image segmentation tasks. |
<VectorLabels> | is used to create labeled vectors. Use to apply labels to vectors in semantic segmentation tasks. |
<VideoRectangle> | VideoRectangle tag brings Object Tracking capabilities to videos. It works in combination with the <Video/> and the <Labels/> tags. |
<VideoVector> | VideoVector tag brings vector annotation capabilities to videos. |
<VideoVectorLabels> | creates labeled vectors on video frames. |
Visual tags
Shape the labelling interface — layout, headings, conditional show/hide, custom CSS. Don't produce annotations themselves.
| Tag | Description |
|---|---|
<Bucket> | Simple container for items in Ranker tag. Can be used to group items in List tag. |
<Collapse> | Collapse tag, a content area which can be collapsed and expanded. |
<Filter> | Use the Filter tag to add a filter search for a large number of labels or choices. Use with the Labels tag or Choices tag. |
<Header> | is used to show a header on the labeling interface. |
<Markdown> | The Markdown element is used to display markdown-formatted text content. |
<Style> | is used in combination with the View tag to apply custom CSS properties to the labeling interface. See the CSS Reference on the MDN page for a full list of available properties that you can reference. You can also adjust default Label Studio CSS classes. Use the browser developer tools to inspect the element on the UI and locate the class name, then specify that class name in the Style tag. |
<View> | The View element is used to configure the display of blocks, similar to the div tag in HTML. |