--allow-lossy.
Every convert command generates a report explaining what happened.
Lossiness Model
A conversion report issue has a severity:- warning: real information loss risk; conversion is blocked unless
--allow-lossyis set - info: deterministic policy note; never blocks conversion
Format-Level Lossiness
Each format has a general lossiness classification relative to Panlabel’s intermediate representation (IR):| Format | Lossiness | Description |
|---|---|---|
ir-json | Lossless | Can represent everything in the IR (round-trip safe) |
coco | Conditional | May lose some information depending on dataset content |
cvat | Lossy | Always loses some IR information |
label-studio | Lossy | Always loses some IR information |
tfod | Lossy | Always loses some IR information |
yolo | Lossy | Always loses some IR information |
voc | Lossy | Always loses some IR information |
JSON Report Format
With--report json, the output follows this shape:
- from/to: source and target format names
- input/output: counts of images, categories, and annotations before and after conversion
- issues: list of warnings and info notes with stable codes
Stable Issue Codes
These codes are designed to be stable for programmatic use.Warning Codes
| Code | Meaning |
|---|---|
drop_dataset_info | Dataset-level metadata is dropped |
drop_licenses | License list is dropped |
drop_image_metadata | Image metadata fields (license/date) are dropped |
drop_category_supercategory | Category supercategory is dropped |
drop_annotation_confidence | Annotation confidence values are dropped |
drop_annotation_attributes | Annotation attributes are dropped |
drop_images_without_annotations | Images without annotations will not appear (TFOD behavior) |
drop_dataset_info_name | info.name has no COCO equivalent |
coco_attributes_may_not_be_preserved | Some COCO-tool roundtrips may not preserve nonstandard attributes |
label_studio_rotation_dropped | Rotated Label Studio boxes are flattened to axis-aligned envelopes; angle is kept as ls_rotation_deg attribute |
Info Codes
| Code | Meaning |
|---|---|
tfod_reader_id_assignment | TFOD reader deterministic ID policy |
tfod_writer_row_order | TFOD writer deterministic row order |
yolo_reader_id_assignment | YOLO reader deterministic ID policy |
yolo_reader_class_map_source | YOLO class map precedence/source note |
yolo_writer_class_order | YOLO writer class index assignment policy |
yolo_writer_empty_label_files | YOLO writer creates empty label files for unannotated images |
yolo_writer_float_precision | YOLO normalized float precision policy |
voc_reader_id_assignment | VOC reader deterministic ID assignment policy |
voc_reader_attribute_mapping | VOC reader mapping of pose/truncated/difficult/occluded attributes |
voc_reader_coordinate_policy | VOC reader coordinate policy (no 0/1-based adjustment) |
voc_reader_depth_handling | VOC reader depth metadata handling note |
voc_writer_file_layout | VOC writer XML path/layout policy |
voc_writer_no_image_copy | VOC writer placeholder JPEGImages policy |
voc_writer_bool_normalization | VOC writer boolean normalization policy |
label_studio_reader_id_assignment | Label Studio reader deterministic ID assignment policy |
label_studio_reader_image_ref_policy | Label Studio reader image reference mapping policy |
label_studio_writer_from_to_defaults | Label Studio writer default from_name / to_name policy |
cvat_reader_id_assignment | CVAT reader deterministic ID assignment policy |
cvat_reader_attribute_policy | CVAT reader coordinate + attribute mapping policy |
cvat_writer_meta_defaults | CVAT writer minimal <meta> block policy |
Examples of Lossy Conversions
COCO to YOLO
When converting from COCO to YOLO, several types of information are lost:- Dataset-level metadata (
infofields) - License information
- Image metadata (license_id, date_captured)
- Category supercategories
- Annotation confidence scores
- Annotation attributes
TFOD Behavior
TFOD has a unique behavior: images without annotations will not appear in the output.VOC Attribute Preservation
VOC can preserve some annotation attributes but drops others:posetruncateddifficultoccluded
Practical Guidance
Check the conversion report
If conversion is blocked, run once with
--report json to see exactly which warning codes triggered the block:Review what will be lost
Examine the
issues array in the JSON report to understand what information will be dropped.Understanding Conditional Lossiness
The COCO format is marked as “Conditional” because it may lose some information depending on your dataset content:- Dataset name (
info.name): COCO has no equivalent field, so this is always lost - Custom attributes: COCO round-trips
areaandiscrowdvia attributes, but other attributes may not be preserved by COCO tools
name field or custom attributes, you’ll see warnings about potential data loss.