How to use
- package-lock.json
Paste lock, SBOM or CSV
- Count by licenseclassification is a guide
Counts and items to review
- THIRD-PARTY-NOTICESno full texts
Draft NOTICE
Paste a package-lock.json (lockfileVersion 2 or 3), an SBOM (CycloneDX or SPDX, JSON or SPDX tag-value), or a name,version,license CSV. You can also drop a file or choose one. “Try a sample” shows how it works.
In “Summary”, see the count for each license and its guide category: permissive, weak copyleft, strong copyleft, or unknown.
In “To review”, check packages with no license, UNLICENSED, SEE LICENSE IN, NOASSERTION, GPL or AGPL family licenses, and identifiers not in the list.
In “NOTICE draft”, choose plain text or Markdown, then copy or download it. It has no full license texts, so ship each package’s LICENSE file with it.
What it does
Reads SPDX expressions
Reads OR (as in MIT OR Apache-2.0), AND, WITH exceptions and parentheses. For the guide category, OR takes the looser option and AND takes the stricter one.
Detects the input format
Tells package-lock.json (the license field as a string, {type} or array), CycloneDX and SPDX SBOMs, and name,version,license CSV apart from the pasted text.
States the reason for each review item
Gives a reason for each item: no license, UNLICENSED, SEE LICENSE IN, NOASSERTION, an unreadable expression, GPL or AGPL family, or an identifier not in the list.
A NOTICE draft without full texts
Lists “name version” under each license. Full license texts are left out, and a note asks you to ship the LICENSE files with the notice.
Use cases
- Attach a list of open source licenses to a product you distribute
- Find which packages in a package-lock.json are GPL or AGPL family without searching by hand
- Count licenses by kind for an internal audit or for a supplier question
- Check a received SBOM for NOASSERTION or empty license fields
Capability matrix
| Feature | Support | Notes |
|---|---|---|
| Listing from package-lock.json (lockfileVersion 2 and 3) | Supported | — |
| Listing from CycloneDX and SPDX SBOMs (JSON and tag-value) | Supported | — |
| Listing from a name,version,license CSV | Supported | — |
| SPDX expressions (AND, OR, WITH, parentheses) and guide classification | Partial | Classifies about 40 common identifiers only. Others show as unknown. |
| Fetching licenses from a registry | Not supported | No network requests. Only the licenses written in the pasted content are used. |
| Judging the text of a LICENSE file | Not supported | License text is not read. |
| A NOTICE file with full license texts | Not supported | Full texts are not included. Ship each package’s LICENSE file. |
| Judging legal compliance | Not supported | The classification is a guide, not legal advice. |
Limits & notes
- Up to 5 MB of input and 20,000 items per list. Larger input is not read, and you are told.
- The classification is a guide based on about 40 common SPDX identifiers. It does not judge version differences or exception terms.
- lockfileVersion 1 package-lock.json files are not supported, because they have no packages field.
- The NOTICE draft does not include copyright lines or permission wording from the authors. Check each package’s LICENSE.
Privacy & safety
Pasted content 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
What should a NOTICE file contain?
If GPL or AGPL family licenses appear, can I not use them?
How is an expression like MIT OR GPL-2.0-only classified?
What if an SBOM license is NOASSERTION?
Does pasting a package-lock.json cause network requests?
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.
CSV Studio
Open CSV files that are slow or garbled in Excel and view, search and edit them right away in your browser. Combine, split and save as CSV (UTF-8 with BOM, Shift_JIS), Excel or JSON on one screen.
Markdown Studio — Live Editor & Preview
A split-view Markdown editor with instant GFM preview, a table formatter that aligns pipes, an automatic table of contents and HTML export. Output is always sanitized and external images load only when you allow them.
SBOM Viewer and Compare (SBOM Studio)
Paste a CycloneDX or SPDX SBOM, as JSON or SPDX tag-value, to list each component with its name, version, purl, license, supplier and hash, and draw the dependency relationships as a tree. It flags components with no purl or license, the same component at more than one version, and NOASSERTION licenses. Compare an old and a new SBOM to see what was added, removed, or changed in version or license. No vulnerability database is queried; only the vulnerabilities written in the SBOM are listed.
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: