b2KIT

Dependency Graph Visualizer

Paste a package.json and visualize the dependency tree as an interactive force-directed graph.

Tested tool guide Tested browser tools Checked August 16, 2026

What Dependency Graph Visualizer does and how it behaves

A package.json becomes a network of connected dependency nodes in this visualizer. Paste the manifest, and the tool represents recognized dependency declarations as an interactive force-directed graph so you can inspect relationships spatially instead of scanning a long JSON object. The important distinction is that package.json describes requested dependencies, not necessarily the exact installed tree. A version range such as ^4.17.21 is a requirement, and the manifest alone does not establish which release an installer selected.

How the result is produced

1

Manifest to graph

Paste a complete, valid package.json object. Dependency fields associate package names with requested version or source specifiers. The visualizer maps the declarations it recognizes to nodes and links, then presents them in a force-directed layout for inspection. The graph is a visual reading of the manifest; using it does not change the JSON you supplied.

2

Declared versus resolved

A package.json normally records the direct requirements declared by one package. It does not by itself identify every transitive package and exact version chosen during installation. Consequently, read this view as a graph of the supplied manifest. Consult the relevant lockfile or installed dependency metadata when the question concerns the complete resolved tree.

Good uses

  • Reviewing an unfamiliar npm project before editing it, especially when the package.json contains enough dependency declarations that names and relationships are difficult to absorb as a flat list.
  • Preparing a dependency cleanup discussion by turning the current manifest into a view that teammates can inspect while deciding which declared packages warrant closer investigation.
  • Checking the dependency surface of two package.json files separately, such as manifests from different branches or packages, and visually comparing which declarations appear in each graph.

Limits and checks

  • The pasted text must be valid JSON. JavaScript-style comments, trailing commas, single-quoted property names, or surrounding explanatory text do not belong in a package.json document and may prevent visualization.
  • Do not interpret node proximity or screen position as import frequency, runtime coupling, installation order, security risk, or package importance. A force-directed layout arranges connected items visually; those additional meanings are not present in the manifest.
  • Dependency values can be ranges or source specifiers rather than exact registry versions. Even an exact-looking value in package.json does not prove that the corresponding package is currently installed or that all transitive dependencies match a particular installation.

Common questions

Does the graph show the exact contents of node_modules?

No, not from package.json alone. The manifest can contain ranges and non-registry specifiers, while an installed tree includes resolved versions and transitive packages. Treat this visualizer as a view of declarations in the pasted manifest. Inspect package-lock.json, another applicable lockfile, or the installation itself when exact resolution matters.

Is the pasted package.json uploaded?

No. The package.json text and resulting dependency visualization stay in the browser, so this tool does not upload the manifest. That matters for private package names and internal dependency specifiers. The privacy claim covers use of this page, not copies of the graph or manifest that you separately save or share.

References and verification

The behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools