CycloneDX version compatibility checker
Paste a CycloneDX JSON BOM and choose an older target version. Review potential data-loss locations before conversion; the original BOM stays unchanged in your browser.
Inspect a BOM locally for structural downgrade losses. JavaScript is required. No upload or conversion occurs.
How it works
The checker walks present JSON values through local structural projections of the official schemas from release tag 1.7. It compares property availability, value types and enums, following local references and nested arrays. An unsupported subtree counts as one loss location. Counts are exact integers; there is no rounding.
Unknown source properties and external schema references are marked unassessed. A value invalid in the source enum is a source issue, not a downgrade loss. The audit deliberately ignores the version declaration during comparison: exporters still need to update specVersion and $schema.
This is not full schema validation. Required fields, string formats, patterns, conditional rules, combinations of alternative schema branches, signatures and semantic relationships need separate validation. No converted BOM is produced.
Worked examples
Two component fields lost in 1.6
A 1.7 library component with name, versionRange and isExternal produces 2 loss locations when targeting 1.6: versionRange and isExternal. Targeting 1.7 produces 0.
Cryptography in an older export
A 1.6 component with type="cryptographic-asset", name and cryptoProperties produces 2 loss locations when targeting 1.5: the type enum value and the cryptoProperties subtree.
Frequently asked questions
Will this convert my SBOM?
Does zero loss mean the older BOM will validate?
Which input versions are supported?
Why are some fields unassessed?
How large can a BOM be?
Sources
- CycloneDX JSON schema — pinned release tag 1.7 (checked 2026-11-14)
- CycloneDX 1.7 JSON reference (checked 2026-11-14)
- CycloneDX 1.6 schema (checked 2026-11-14)
- CycloneDX 1.5 JSON reference (checked 2026-11-14)
- CycloneDX 1.4 JSON reference (checked 2026-11-14)
Last reviewed 2026-11-14; next review due by 2027-02-12. The method is written out above so you can check our math.