Overview
- Path type: JSON file (
.json) - Lossiness: Lossless
- Bbox format: Pixel-space XYXY
[xmin, ymin, xmax, ymax] - Use case: Canonical storage, lossless conversion chains
Key Features
✓ Preserves dataset info and metadata✓ Preserves licenses
✓ Preserves image metadata and attributes
✓ Preserves annotation confidence scores
✓ Preserves custom attributes on annotations and images
✓ Deterministic output (sorted by IDs)
✓ Supports images without annotations
Structure
The IR JSON format mirrors COCO’s structure but uses XYXY bbox coordinates:Bounding Box Format
Bboxes are stored as pixel-space XYXY:xmin: Left edge in pixelsymin: Top edge in pixelsxmax: Right edge in pixelsymax: Bottom edge in pixels
Example
Schema Details
DatasetInfo
License
Image
Category
Annotation
Attributes
BothImage and Annotation support custom attributes as string key-value pairs:
cvat_image_id, ls_rotation_deg).
Deterministic Output
When writing IR JSON, Panlabel produces deterministic output:- All lists are sorted by ID
- Ensures reproducible builds
- Enables meaningful git diffs
Usage
Read IR JSON
Write IR JSON
When to Use IR JSON
Use IR JSON when:- You need lossless conversion between formats
- You want to preserve all metadata and attributes
- You’re building conversion pipelines
- You need deterministic, version-controllable output
- Training models (use YOLO, COCO, etc.)
- Integrating with specific tools (use their native format)
- Working with legacy systems (use VOC, TFOD, etc.)
See Also
COCO Format
Similar structure but uses XYWH bbox format
Format Overview
Compare all supported formats