CRA Bureau
All guides

CycloneDX or SPDX: which SBOM format does the CRA require?

7 min readUpdated 18 September 2026Cites Cyber Resilience Act

The Regulation does not choose for you

Annex I, Part II, point 1

How they actually differ

CycloneDXSPDX
StewardOWASPLinux Foundation, and ISO/IEC 5962
OriginBuilt for security use — vulnerability and supply-chain firstBuilt for licence compliance first, security added later
SerialisationsJSON, XML, ProtobufJSON, YAML, RDF, tag-value
Typical sourceModern build tooling and security scannersEnterprise procurement, and anything in the Linux ecosystem
Vulnerability dataCarries it natively, and pairs with VEXPossible, but less idiomatic

Choose on who is asking, not on the Regulation

  • No external requirement: use CycloneDX. It is the lower-friction default and pairs cleanly with VEX when you need to say "not affected".
  • A customer has specified a format: use theirs, and treat the CRA obligation as satisfied by the same artefact.
  • Both are demanded: generate one canonically and convert, rather than maintaining two by hand. Converted documents lose fidelity, so keep the generated one authoritative.

The two things that actually get checked

Annex I, Part I, point 2(a)
  • Does it describe the artefact you actually shipped? An SBOM generated from a developer machine, or from a branch, does not evidence the release. Generate it in CI from the exact build you publish.
  • Is it current? Annex I Part I point 2(a) is tested at the moment the product is made available. An SBOM from last quarter evidences a vulnerability position that is no longer yours.

Depth: the floor is not the target

What a converted or hand-edited SBOM costs you

A hand-maintained SBOM is a liability dressed as a deliverable

Check your own dependencies

Free, no account needed.

Related guides