What this actually checks
This tool parses your JavaScript with acorn and builds a reference graph: every top-level function declaration (or const x = function(){} / const x = () => {} at the top level) becomes a node, and every place its name appears elsewhere as an identifier becomes an edge. It then computes which of those functions are reachable from a set of roots — code that runs unconditionally when the file loads: statements directly at the top level, the body of an immediately-invoked function expression (IIFE), anything assigned to module.exports / exports.x / window.x / globalThis.x, and any entry-point names you type in yourself. Everything reachable from a root, transitively, is kept; everything left over is reported.
Read this before you trust a finding
A function this tool calls "likely unused" may still be genuinely used. Static analysis cannot see through:
- Dynamic dispatch —
obj[someComputedName](),table[key]()— the property name is only known at runtime. evalandnew Function(...)— code built from a string is invisible to an AST walk.- Reflection —
fn.call(...),fn.apply(...)on a reference chosen dynamically, orObject.keys(obj).forEach(k => obj[k]()).
Every finding is phrased as "no static reference found", never as a fact. Treat this as a lead worth checking by hand, not a verdict — especially before deleting anything.
How to use it
Paste or load a .js file's contents into the editor. If you already know the name of your bundle's real entry function (the one your HTML calls, or a framework calls for you), type it into the entry points field so it — and everything it transitively touches — is anchored as reachable even if nothing in the file itself references it by name.
The summary shows total top-level functions, how many are reachable, and how many have no static reference. Each finding lists the function name and its line number. A separate, collapsed list shows the full reachable set with a short reason for each — an entry point, an export, a call inside an IIFE, or a reference found inside another reachable function.
Nothing you paste leaves your browser.
Tiny Online Tools







