> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/cvat-ai/cvat/llms.txt
> Use this file to discover all available pages before exploring further.

# Manual Annotation

> Step-by-step workflows for manual annotation in CVAT with keyboard shortcuts and best practices

Manual annotation is the foundation of creating high-quality training data. CVAT provides intuitive tools and workflows for efficient annotation across images, videos, and 3D data.

## Getting Started

### Opening an Annotation Job

1. Navigate to your task from the Tasks page
2. Click on a job from the job list
3. The annotation editor opens in the Standard workspace

<Tip>
  Bookmark annotation jobs for quick access. The URL contains your job ID and persists your progress.
</Tip>

### Basic Workflow

The typical annotation workflow:

1. **Select a label** from the objects sidebar or drawing tool menu
2. **Choose an annotation tool** (rectangle, polygon, etc.)
3. **Draw or place the annotation** on the canvas
4. **Set attributes** if defined for the label
5. **Navigate to next frame** and repeat
6. **Save regularly** with `Ctrl+S`

## Creating Annotations

### Drawing Shapes

Each shape type has a specific drawing interaction:

#### Rectangle (Bounding Box)

**Method 1: Classic (2 Points)**

1. Click the Rectangle tool or press `Shift+B`
2. Select a label
3. Click **Shape** to create a single-frame annotation
4. Click and drag to draw the bounding box
5. Release to finish

**Method 2: Extreme Points (4 Points)**

1. In the rectangle tool popover, select "By 4 Points"
2. Click the four extreme points of the object:
   * Topmost point
   * Bottommost point
   * Leftmost point
   * Rightmost point
3. CVAT automatically fits a bounding box

<CodeGroup>
  ```text Rectangle Shortcuts theme={null}
  Shift+B  - Activate rectangle tool
  N        - Repeat last drawing action
  Esc      - Cancel drawing
  R        - Resize mode (after creating)
  ```
</CodeGroup>

#### Polygon

1. Activate the Polygon tool (`Shift+P`)
2. Select a label and click **Shape** or **Track**
3. Click to place each vertex of the polygon
4. Double-click the first point or press `N` to close the polygon

<Tip>
  **Best Practice**: Place vertices at corners and along edges where the object boundary changes direction. You can always add or remove points later.
</Tip>

#### Polyline

1. Activate the Polyline tool (`Shift+L`)
2. Click to place vertices along the line
3. Press `N` or double-click the last point to finish

Use polylines for:

* Lane markings
* Boundaries
* Trajectories
* Linear features

#### Points

1. Activate the Points tool (`Shift+.`)
2. Specify the number of points (optional)
3. Click to place each point
4. Press `N` after placing the last point, or let CVAT auto-finish after reaching the specified count

Points are useful for:

* Small objects
* Center points
* Multiple instance counting
* Sparse annotation

#### Ellipse

1. Activate the Ellipse tool
2. Click and drag to define the ellipse center and initial radius
3. Move the mouse to adjust the shape
4. Click to finish

#### Cuboid

**Method 1: From Rectangle**

1. Draw the front face as a rectangle
2. Adjust the 3D depth by dragging the rear face

**Method 2: By 4 Points**

1. Select "By 4 Points" method
2. Click four corners of the cuboid's visible faces
3. CVAT constructs the 3D cuboid

Use cuboids for:

* Vehicles
* Buildings
* Furniture
* Any object with clear 3D structure

### Shape vs. Track Mode

When creating an annotation, choose between:

**Shape Mode**

* Single-frame annotation
* Object appears only on current frame
* Use for static images or one-time appearances

**Track Mode**

* Multi-frame annotation with interpolation
* Object persists across frames
* Use for videos and image sequences
* CVAT automatically interpolates position between keyframes

<Info>
  You can convert shapes to tracks (and vice versa) after creation using the context menu.
</Info>

## Editing Annotations

### Selecting Objects

* **Click** any shape on the canvas to select it
* **Tab**: Cycle through overlapping objects
* **Shift+Click**: Select multiple objects
* Click an object in the sidebar to select it

### Moving Objects

1. Select the object
2. Drag it to a new position
3. Or use arrow keys for pixel-perfect movement:
   * `Arrow keys`: Move 1 pixel
   * `Shift+Arrow keys`: Move 10 pixels

### Resizing Objects

1. Select the object
2. Drag the control points (corners, edges, or vertices)
3. Hold `Shift` while dragging to maintain aspect ratio

<Tip>
  Press `R` after selecting an object to enter resize mode, then use arrow keys for precise adjustments.
</Tip>

### Editing Polygon/Polyline Points

1. Select the polygon or polyline
2. The vertices become visible as control points
3. **Drag vertices** to reposition them
4. **Add vertex**: Click on an edge where you want to insert a point
5. **Remove vertex**: Select it and press `Del`, or right-click and choose "Delete point"

### Editing Masks

For mask annotations, use the brush toolbox:

**Brush Tools** (available when editing masks):

* **Brush** (`Shift+1`): Paint to add mask area
* **Eraser** (`Shift+2`): Erase mask area
* **Polygon Add** (`Shift+3`): Add polygonal regions to mask
* **Polygon Remove** (`Shift+4`): Remove polygonal regions from mask

**Brush Settings**:

* Adjust brush size (1-100 pixels)
* Choose brush form (circle or square)
* Control opacity

<CodeGroup>
  ```text Mask Editing Shortcuts theme={null}
  Shift+1  - Brush tool
  Shift+2  - Eraser tool
  Shift+3  - Polygon add tool
  Shift+4  - Polygon remove tool
  [        - Decrease brush size
  ]        - Increase brush size
  ```
</CodeGroup>

## Annotation Properties

### Attributes

If your labels have defined attributes:

1. Select an object
2. Expand the **DETAILS** section in the objects sidebar
3. Set attribute values:
   * **Checkboxes**: Toggle on/off
   * **Radio buttons**: Select one option
   * **Dropdowns**: Choose from list
   * **Text fields**: Enter custom text
   * **Numbers**: Enter numeric values

<Info>
  Attributes can be set as "mutable" (can change per frame in tracks) or "immutable" (same value across all frames).
</Info>

### Object States

Control object visibility and behavior with state toggles:

| State        | Shortcut | Description                                                    |
| ------------ | -------- | -------------------------------------------------------------- |
| **Lock**     | `L`      | Prevent editing (object becomes unselectable)                  |
| **Hide**     | `H`      | Hide from canvas (still saved)                                 |
| **Outside**  | `Q`      | Mark object as outside frame boundary (in tracks)              |
| **Occluded** | `O`      | Mark object as occluded/obscured                               |
| **Keyframe** | `K`      | Mark current frame as a keyframe (in tracks)                   |
| **Pinned**   | `P`      | Fix object position (prevents automatic interpolation updates) |

<CodeGroup>
  ```text Object State Shortcuts theme={null}
  L          - Toggle lock
  H          - Toggle hidden
  T+L        - Lock all objects
  T+H        - Hide all objects
  Q          - Toggle outside
  O          - Toggle occluded
  K          - Toggle keyframe
  P          - Toggle pinned
  ```
</CodeGroup>

### Label Assignment

**Change an object's label**:

1. Select the object
2. Click the label name in the objects sidebar
3. Choose a new label from the dropdown

**Quick label shortcuts**:

* `Ctrl+1` through `Ctrl+9`: Assign labels 1-9
* Configure in task label setup

### Color and Appearance

Customize object colors:

**Global Settings**:

* Color by Label (default)
* Color by Instance (unique color per object)
* Color by Group (same color for grouped objects)

**Per-Object Color**:

1. Right-click the object
2. Select "Change color"
3. Pick a custom color

## Keyboard Shortcuts

### Essential Shortcuts

<AccordionGroup>
  <Accordion title="General">
    ```text theme={null}
    Ctrl+S       - Save annotations
    Ctrl+Z       - Undo
    Ctrl+Shift+Z - Redo
    Esc          - Cancel current action / Select cursor tool
    F1           - Fit image to viewport
    F2           - Settings
    F3           - Keyboard shortcuts reference
    ```
  </Accordion>

  <Accordion title="Navigation">
    ```text theme={null}
    F            - Previous frame
    D            - Next frame
    Space        - Play/pause
    G            - Go to frame dialog
    Left         - Previous frame with annotations
    Right        - Next frame with annotations
    Ctrl+Left    - Previous empty frame
    Ctrl+Right   - Next empty frame
    V            - Forward 1 frame while drawing
    C            - Backward 1 frame while drawing
    ```
  </Accordion>

  <Accordion title="Drawing">
    ```text theme={null}
    N            - Repeat last drawing action
    Shift+N      - Redraw selected shape
    Shift+B      - Rectangle tool
    Shift+P      - Polygon tool
    Shift+L      - Polyline tool
    Shift+.      - Points tool
    Esc          - Cancel drawing
    Enter        - Finish polygon/polyline
    ```
  </Accordion>

  <Accordion title="Objects">
    ```text theme={null}
    Del          - Delete selected object
    Ctrl+C       - Copy selected object
    Ctrl+V       - Paste object
    Ctrl+X       - Cut object
    Ctrl+B       - Propagate object to next frames
    Tab          - Switch between overlapping objects
    +/-          - Increase/decrease object Z-order
    Ctrl++/-     - Increase/decrease multiple selected Z-order
    ```
  </Accordion>

  <Accordion title="Object States">
    ```text theme={null}
    L            - Toggle lock
    H            - Toggle hide
    Q            - Toggle outside
    O            - Toggle occluded
    K            - Toggle keyframe
    P            - Toggle pinned
    T+L          - Lock all
    T+H          - Hide all
    ```
  </Accordion>
</AccordionGroup>

## Best Practices

### Accuracy Tips

<CardGroup cols={2}>
  <Card title="Precise Boundaries" icon="crosshairs">
    Zoom in (Ctrl+Wheel) when drawing to ensure pixel-accurate boundaries, especially for small objects
  </Card>

  <Card title="Consistent Labeling" icon="equals">
    Follow project annotation guidelines for consistency. Establish clear rules for edge cases
  </Card>

  <Card title="Occlusion Handling" icon="eye-slash">
    Mark partially visible objects as occluded. Annotate visible portions only
  </Card>

  <Card title="Regular Saves" icon="floppy-disk">
    Save frequently (Ctrl+S) to avoid data loss. CVAT auto-saves at configurable intervals
  </Card>
</CardGroup>

### Efficiency Tips

1. **Use keyboard shortcuts** - Learn at least 5-10 most common shortcuts to double your speed
2. **Shape vs Track** - Use tracks for videos to leverage interpolation
3. **Copy and adjust** - Copy similar objects (Ctrl+C, Ctrl+V) and adjust instead of drawing from scratch
4. **Lock completed objects** - Prevent accidental edits by locking finished annotations
5. **Filter objects** - Hide objects you're not currently working on
6. **Repeat drawing** - Press `N` to quickly redraw with the same label and settings

<Tip>
  The `N` key is your best friend! It repeats your last drawing action with the same settings, perfect for annotating many similar objects quickly.
</Tip>

### Quality Checks

Before marking a job as complete:

* [ ] All objects are labeled
* [ ] Boundaries are accurate
* [ ] Attributes are set correctly
* [ ] Occluded objects are marked
* [ ] No duplicate annotations
* [ ] Objects outside frame are marked with "Outside" flag
* [ ] Track consistency (objects maintain same ID across frames)

## Common Issues

<AccordionGroup>
  <Accordion title="Can't select an object">
    The object may be locked. Press `T+L` to unlock all objects, or find the object in the sidebar and click the lock icon.
  </Accordion>

  <Accordion title="Drawing tool not working">
    Ensure you've selected a label first. Some tools are only available for certain label types (e.g., skeleton tool requires a skeleton label).
  </Accordion>

  <Accordion title="Changes not saving">
    Check your network connection. Use Ctrl+S to manually save. Check the browser console for errors.
  </Accordion>

  <Accordion title="Polygon won't close">
    You need at least 3 points. Double-click the first point or press `N` to close the polygon.
  </Accordion>

  <Accordion title="Object disappeared after frame change">
    For tracks, make sure "Outside" is not checked on that frame. For shapes, remember they only exist on one frame.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Shapes and Objects" icon="shapes" href="/annotation/shapes-and-objects">
    Learn about all annotation types in detail
  </Card>

  <Card title="Auto-Annotation" icon="wand-magic-sparkles" href="/annotation/auto-annotation">
    Speed up annotation with AI models
  </Card>

  <Card title="Advanced Tools" icon="gear" href="/annotation/advanced-tools">
    Master interpolation, tracks, and propagation
  </Card>

  <Card title="Editor Overview" icon="window-restore" href="/annotation/editor-overview">
    Explore the complete editor interface
  </Card>
</CardGroup>
