Paste your original JavaScript or TypeScript file in the left panel and the updated version in the right panel, then click Find Differences. Added lines appear in green, removed in red. Upload .js, .ts, .jsx, or .tsx files directly. Everything runs in your browser - no code is sent to a server.
How to use this tool
Paste or upload your original JavaScript or TypeScript on the left and the changed version on the right. Click "Find Differences." The diff shows every added and removed line with line numbers. Toggle Unified or Side-by-Side view. The language is pre-selected as JavaScript, so uploads filter to .js, .ts, .jsx, .tsx, .mjs, and .cjs files.
JavaScript diff considerations
Semicolons and formatting
Prettier or ESLint reformatting changes many lines at once - often semicolons, quotes (single vs double), or trailing commas. A formatter-only diff will show many changed lines with identical logic. If you are trying to find logical changes, format both files with the same formatter before diffing.
Arrow functions vs function declarations
Converting function foo() to const foo = () => changes multiple lines. The diff will show the function declaration as removed and the arrow function as added across the affected lines.
TypeScript type annotations
Adding TypeScript types to a JavaScript file shows each annotated line as changed. A migration from plain JS to TypeScript will therefore produce a large diff even if the runtime logic is unchanged.
Use cases
Bundle output comparison
Compare two build outputs to verify that a dependency update, webpack config change, or code split adjustment changed only what was expected in the final bundle.
API response shape changes
When a JS object or JSON structure changes between versions, paste both to see exactly which keys were added, renamed, or removed.
Framework migration
During a migration (e.g., class components to hooks, CommonJS to ESM), compare before and after versions of each module to confirm the migration is complete and correct.
FAQs
Can I compare TypeScript files?
Yes. TypeScript .ts files are plain text. The file upload accepts .js, .ts, .jsx, .tsx, .mjs, and .cjs.
Will this compare minified JavaScript?
Yes, but minified code is typically one line, so the entire minified output will appear as one changed line. For a useful diff, compare unminified source files.
Is my code private?
Yes. All processing runs in your browser. No code is sent to any server.