DEAD CODE DETECTION

The dead code detection tool that proves it's dead before you delete.

Mapnostics combines code-graph analysis with semantic AI reasoning to uncover unused symbols, unreachable code, and orphaned files. Each finding comes with evidence, confidence, and false-positive protection — so you verify instead of guess.

Analyze my codebase →See how it works
mapnostics.com/repo/acme-platform/dead-code
Dead Code

Identify unused functions, classes, and variables in your codebase.

Last scanned 6 Aug, 14:11▶ Re-run Analysis
Candidates
70
Needs review
14
Auto-confirmed
56
Confirmed by team
0
False positives
0
Avg confidence
93%
Current AnalysisAnalysis History

Dead Code Overview

70 unused code issues detected
56 high-confidence issues (≥90%) — verify, then remove
14 medium-confidence issues — review recommended
34 files affected
Fix firstDashboard.tsx6 issues · start here →
FilterAll (70)High confidence (56)Medium (14)
Dashboard.tsx6 issuesHigh
CardHeaderAI ANALYZED · 2 EVIDENCE

Unused import: 'CardHeader' is imported but never referenced in this file

StructuralCompiler-backed graph truthAST
import binding 'CardHeader' has zero references outside the import statement
SemanticInterpretive — LLM-derivedLLM
No dynamic import, re-export or JSX factory path reaches this symbol
Confidence 96%
Is this really dead?✓ Yes, dead✕ No, false positive
SelectTriggerAI ANALYZED · 2 EVIDENCE

Unused import: 'SelectTrigger' is imported but never referenced in this file

StructuralCompiler-backed graph truthGRAPH
Symbol graph across 412 files finds no consumer of this binding
OperationalGit history & temporal contextGIT
Last touched 214 days ago; the component it wrapped was deleted in #318
Confidence 91%
Is this really dead?✓ Yes, dead✕ No, false positive
Accounts.tsxsrc/pages/admin6 issuesHigh›
Support.tsxsrc/pages/admin5 issuesHigh›
Analytics.tsxsrc/pages/admin5 issuesHigh›
filter-options.tssrc/lib/tables3 issuesMedium›
RevenueByRegion.tsxsrc/components/charts3 issuesHigh›
CustomerDetailDialog.tsxsrc/components/admin2 issuesHigh›
error-handler.tssrc/lib1 issueMedium›
CTASection.tsxsrc/components/marketing1 issueMedium›
Dependencies
Unused packages your manifest still declares
Re-scan
@sveltekit/resolversnpm uninstall @sveltekit/resolvers
Unused assets
Images, fonts and media that ship but nothing references
Scan assets
3 assets · 1.2 MBpublic/og-old.png · public/hero-v1.webp · fonts/legacy.woff
Unreferenced tables
Tables in your migrations never named in application code
Re-scan
✓ All 41 tables across 44 migrations are referenced in code.

Safely find and remove unused code with confidence

✓

Evidence, not guesswork

Every finding shows why it is dead — the compiler-backed symbol graph plus the semantic read that catches what static analysis alone misses.

✓

Confidence you can act on

A 100% confidence flag has zero references anywhere in the codebase. Lower scores tell you exactly what to verify before you delete.

✓

False-positive protection

Dynamic imports and string-based requires are flagged as unknowns, not false confirmations — so a clean scan is a scan you can trust.

Find your dead code in under 2 minutes.

Analyze my codebase →

No credit card required · Free tier available

Common questions

How does Mapnostics find dead code?

It builds a symbol graph of your TypeScript and JavaScript and checks reachability: an export, function or branch that nothing references is flagged, each with a confidence score.

Is it safe to delete the dead code Mapnostics flags?

Check the confidence score on each finding first. High-confidence findings have no dynamic references or external callers a static scan can see; lower-confidence ones are worth a manual check before deleting.

What languages does dead code detection support?

TypeScript and JavaScript, including JSX and TSX, have full support. Other languages in the repository are indexed but not analysed for dead code.

Does it flag test files and fixtures?

No. Tests and fixture directories (fixtures/, __fixtures__/, testdata/, __snapshots__/) are left out of the file scan, because a sample input nothing calls is not dead code. A permanently skipped test suite, or a module kept alive only by its own test, is reported by a separate detector.