Overview
labelWise uses a standardized CSV format for importing and exporting bounding box annotations. This format is compatible with common computer vision workflows and can be easily integrated into ML pipelines.CSV Schema
Column Definitions
| Column Name | Data Type | Required | Description |
|---|---|---|---|
label_name | string | Yes | The label/class name for the annotation (converted to lowercase) |
bbox_x | number | Yes | X coordinate of the top-left corner of the bounding box (in pixels) |
bbox_y | number | Yes | Y coordinate of the top-left corner of the bounding box (in pixels) |
bbox_width | number | Yes | Width of the bounding box (in pixels, must be > 0) |
bbox_height | number | Yes | Height of the bounding box (in pixels, must be > 0) |
image_name | string | Yes | Exact filename of the image (case-sensitive, must match loaded image) |
image_width | number | Optional | Width of the source image in pixels |
image_height | number | Optional | Height of the source image in pixels |
All column names are case-insensitive during import. The parser converts them to lowercase before matching.
Export Format
When you export annotations from labelWise, the CSV is generated with the following characteristics:Header Row
Data Rows
- Quoted strings:
label_nameandimage_nameare always wrapped in double quotes - Escaped quotes: Internal quotes in filenames are escaped as
"" - Numeric precision: Coordinates are rounded to integers using
.toFixed(0) - Empty values:
image_widthandimage_heightare empty strings if dimensions are unknown
Example Export
Import Behavior
Parsing Process
TheparseCsv function implements a custom CSV parser with the following features:
- Quote handling: Supports double-quoted fields with internal commas
- Escaped quotes: Recognizes
""as an escaped double quote - Line endings: Handles both
\nand\r\nline endings - Whitespace: Automatically trims whitespace from cells
Validation Rules
During import, each row is validated:Image Matching
Annotations are matched to loaded images by exact filename comparison:Label Creation
During import:- All
label_namevalues are converted to lowercase - New labels are automatically added to your label list
- Existing labels are preserved and merged with imported labels
- Label colors are auto-generated for new labels
Import Success Feedback
After import, labelWise displays:- Valid rows: Number of rows that passed validation
- Matched images: Number of loaded images that received annotations
- Imported boxes: Total number of annotations added
Common CSV Examples
Single Object Per Image
Multiple Objects Per Image
Without Image Dimensions
Filenames with Special Characters
Integration with labelWise
Pre-Import Checklist
- ✅ Load all images into labelWise first
- ✅ Verify image filenames match exactly (check spaces, extensions)
- ✅ Ensure CSV has all required columns
- ✅ Validate that coordinates are within image bounds
- ✅ Check that width and height are positive numbers
Import Process
- Click Importar CSV button
- Select your CSV file
- labelWise validates the format and columns
- Annotations are matched to loaded images by filename
- New labels are created automatically
- Existing annotations are replaced (not merged)
Export Process
- Annotate your images
- Click Exportar CSV
- File downloads as
annotations-YYYY-MM-DD.csv - Only images with at least one annotation are included