---
title: VectorLabels - Beta 🧪
type: tags
order: 433
meta_title: Vector Label Tag for Labeling Vectors in Images
meta_description: Use the VectorLabels tag and label vectors in images for semantic segmentation machine learning and data science projects.
---
The `VectorLabels` tag is used to create labeled vectors.
Use with the following data types: image.

## Path and point basics
| Action | Instruction |
|------------------------------|-------------|
| **Add points** | Click on empty space. |
| **Add points to path segments** | Press Shift while clicking on a segment that is between two points. |
| **End or exit the path** | Press Esc or click on the last point you added to the path. |
| **Move points** |
Alt or Option and click on an existing point. |
!!! note
Several options require you to complete the path and then re-select it as a region.
To do this, you must first exit the path and then reselect it by clicking on a segment within the path or by clicking it under the **Regions** panel.
Selected paths are highlighted red. For this reason, you should avoid red when choosing label colors for your vector paths.
## Advanced
### Multi-select
With multi-select, you can drag multiple points to reposition or rotate them.

| Action | Instruction |
|---------------------------|-------------|
| **Select multiple points** | Cmd or Ctrl and then click any point in the path.Cmd or Ctrl as you click points.Esc. |
### Bézier curves
To use Bezier curves, you must enable them using the `curves="true"` parameter in your labeling configuration. Control points are shown when editing bezier points.

| Action | Instruction |
|-------------------------|-----------------------------------------------------------------------------|
| **Create a curve** | As you click to add a point, hold while dragging your cursor. |
| **Create a new curve point** | Press `Shift` while dragging a control point. |
| **Adjust a curve** | First exit the path and then [re-select it as a region](#region-note). Then you can click and drag control points. |
| **Convert a point to a curve**| Press `Shift` and click the point once. |
| **Asymmetric curves** | By default, the control points move in sync. To create asymmetric curves (only move one control point), press `Alt` or `Option` before clicking the control point. |
### Closed paths
You can create closed paths to create polygon shapes. To create closed paths, use the `closable="true"` parameter in your labeling configuration.

| Action | Instruction |
|-------------------------|-----------------------------------------------------------------------------|
| **Break closed path** | Press `Alt` or `Option` and click on a segment in a closed path to reopen it. |
### Skeleton
You can create skeleton vectors using the `skeleton="true"` parameter in your labeling configuration.
When enabled, new points connect to the active point and not the last added point.

## Usage examples
### Basic vector path
```html
VectorRegionResult - The serialized vector region data in Label Studio format
**Properties**
| Name | Type | Description |
| --- | --- | --- |
| original_width | number | width of the original image (px) |
| original_height | number | height of the original image (px) |
| image_rotation | number | rotation degree of the image (deg) |
| value | Object | |
| value.vertices | Array.<Object> | array of point objects with coordinates, bezier curve information, and point relationships |
| value.closed | boolean | whether the vector is closed (polygon) or open (polyline) |
| value.vectorlabels | Array.<string> | array of label names assigned to this vector |
#### Example results JSON export
```json
{
"original_width": 1920,
"original_height": 1280,
"image_rotation": 0,
"value": {
"vertices": [
{ "id": "point-1", "x": 25.0, "y": 30.0, "prevPointId": null, "isBezier": false },
{ "id": "point-2", "x": 75.0, "y": 70.0, "prevPointId": "point-1", "isBezier": true,
"controlPoint1": {"x": 50.0, "y": 40.0}, "controlPoint2": {"x": 60.0, "y": 60.0} }
],
"closed": false,
"vectorlabels": ["Road"]
}
}
```