What this finds
Modern sites ship one JavaScript file built from hundreds of source files. This tool looks inside that file and tries to recover the original module boundaries — bundler-agnostic, using the actual AST shape rather than pattern-matching on text (which falls apart the moment the code is minified).
It tries, in order:
- Webpack function-map form — an IIFE whose argument is an object or array where each entry is a
(module, exports, require)function. This also matches the classicwebpackUniversalModuleDefinitionwrapper, however deep the real module-map call sits inside it. - Webpack chunk-push form —
(self.webpackChunkXxx = self.webpackChunkXxx || []).push([ids, {modules}, runtime]), the shape webpack 5 code-splitting produces. - Rollup / esbuild / Vite comment banners — some unminified builds from that family keep a
// path/to/file.jsline comment before each module's code. When present, those become the module boundaries. - Honest fallback — if none of the above are found (almost always because the bundle is a scope-hoisted, minified Rollup/esbuild/Vite build with no boundary markers left at all), the tool says so and lists the file's top-level declarations instead of inventing a module list.
Reading the result
When modules are found, each one lists what it require()s by literal module id and, just as usefully, which other modules require it — so you can trace "if I remove this, what breaks" in either direction without executing anything.
Honesty by design
Dynamic requires (require(someVariable)) and import() calls cannot be resolved statically, so they are simply left out of the edge list — this can undercount dependencies, but it will never fabricate one. Likewise, a module id referenced by a require() call that isn't in the detected map is still shown as an edge target even though it has no card of its own; that usually means it lives in a different chunk that wasn't pasted in.
Privacy
Everything runs in your browser via a real JavaScript parser (acorn). The bundle you paste or upload is never sent anywhere.
Tiny Online Tools







