How to use
- sbom.cdx.json
Paste the SBOM
- Componentsname, version, purl
Components and tree
- Added / removed / versioncompared with the old SBOM
Changes from old
Paste a CycloneDX 1.4 to 1.6 or SPDX 2.2 or 2.3 SBOM (JSON or SPDX tag-value), or drop a file (“Choose file” works too). “Try a sample” shows how it works.
In “Components”, check the name, version, purl, license, supplier and hash. You can search and sort, and save the current rows as CSV.
In “Dependency tree”, follow which components each one depends on, from the root down. Cycles and depth limits are shown as “not expanded”.
In “Issues”, see components with no purl, version or license, the same component at several versions, and NOASSERTION. “Vulnerabilities” lists only what the SBOM says.
In “Compare”, paste an older SBOM to list what was added, removed, changed in version, or changed in license.
What it does
Both CycloneDX and SPDX
Reads CycloneDX 1.4, 1.5 and 1.6 JSON, and SPDX 2.2 and 2.3 in JSON and tag-value. An unsupported version stops with the version named.
Dependencies as a tree
Builds a tree from the root down, using CycloneDX dependencies and SPDX relationships such as DEPENDS_ON, CONTAINS and DESCRIBES. A cycle is shown once.
Old and new comparison
Pairs components by purl (without the version) or by name, then lists additions, removals, version changes and license changes.
Findings only where the SBOM shows a gap
Flags missing purl, version or license, the same component at several versions, and NOASSERTION. Each finding comes from what the SBOM itself says.
CSV export
Saves the components on screen (with search and sort applied) as CSV. Leading formula characters are escaped so spreadsheets do not run them.
Use cases
- Check whether a received SBOM is CycloneDX or SPDX, and which version it is
- List each component with its license and supplier for an audit or internal review
- Compare this release’s SBOM with the last one to see new or changed components
- Find the same library at two versions, or components whose license is NOASSERTION
Capability matrix
| Feature | Support | Notes |
|---|---|---|
| Reading components, dependencies and vulnerabilities from CycloneDX 1.4, 1.5 and 1.6 (JSON) | Supported | — |
| Reading components and relationships from SPDX 2.2 and 2.3 (JSON and tag-value) | Supported | Tag-value reads the main fields only. |
| Old and new comparison (additions, removals, versions, licenses) | Supported | — |
| Checking against a vulnerability database | Not supported | No network requests. Only the vulnerabilities written in the SBOM are listed. |
| Verifying signatures or generating an SBOM | Not supported | Reads an SBOM only; it does not create one or verify a signature. |
| Reading lock files such as package-lock.json | Not supported | For lock files, use dependency_viewer. |
| Every SPDX field (file-level data, annotations and so on) | Partial | Reads only the fields used for packages and relationships. |
Limits & notes
- Up to 20 MB of input and 50,000 components are read. Anything beyond is not read, and you are told.
- The tree shows up to 2,000 items and 12 levels deep. Parts beyond that are marked “not expanded”.
- No vulnerability database is queried. The vulnerability list contains only what the SBOM states.
- License meaning (permissions and compatibility) is not judged. License strings are shown as written.
Privacy & safety
A pasted SBOM is read only inside your browser. It is not sent to or stored on a server, and nothing is saved in the browser. Usage analytics never include content or file names.
FAQ
How do I tell whether an SBOM is CycloneDX or SPDX?
How is this different from dependency_viewer?
Is NOASSERTION the same as having no license?
Can I check vulnerabilities against current data here?
If there are no issues, is the software safe?
Related tools
Lockfile Diff & Dependency Tree
Compare two lockfiles to see which packages were added, removed or upgraded. You can also see why a package is installed and where several versions of one package come from. Nothing leaves your browser.
JSON Studio — Formatter & Validator
Paste JSON to format, minify or validate it instantly. Errors are shown with the exact line, column and cause, and comments or trailing commas can be auto-repaired. Your data never leaves your device.
Secret Scanner
Paste text or drop config and code files to list likely secrets with file, line and rule before you publish or share them. Values are masked by default and you can save a copy with them replaced by ***. A helper only — it cannot guarantee that nothing is missed.
OSS License Report and NOTICE Draft (OSS License Report)
Paste a package-lock.json, a CycloneDX or SPDX SBOM, or a name,version,license CSV. The tool counts licenses by kind with a guide classification, and lists items to review such as GPL or AGPL family licenses and packages with no license. It can also draft a THIRD-PARTY-NOTICES file, without the full license texts. The classification is a guide, not legal advice.
Docker Compose Studio
Convert docker run commands to compose.yaml, or compose.yaml back to docker run. A compose file is checked for syntax, the Compose Specification and common mistakes, and security points worth confirming are listed. Nothing is started or pulled, and your input never leaves your device.
Dockerfile Studio
Paste a Dockerfile to check its syntax, stages and common mistakes. Secret-looking values and points to confirm, such as curl | sh, are listed with line numbers. You can also format it or generate starter files for Node.js, Python, Go, a static site or Java. Nothing is built, and your input never leaves your device.
Last updated: