Compare anything. Privately.
Find differences between text, Word docs, PDFs, spreadsheets, folders and images — all without uploading. Every byte stays in your browser. Even AI-generated image detection runs locally.
Text Diff
Word Document Diff (.docx)
Drop Document A here or click to choose
Drop Document B here or click to choose
PDF Diff
Drop PDF A here or click to choose
Drop PDF B here or click to choose
Excel / CSV Diff
Drop Workbook A here or click
Drop Workbook B here or click
Folder Diff
Image Diff
Drop Image A here or click
Drop Image B here or click
AI vs Real — Heuristic Image Analyzer
Drop an image here or click to choose
Heuristic only. We combine EXIF presence, JPEG quantization fingerprints, FFT spectral flatness and per-channel noise stats to estimate AI likelihood. No detector is perfect — treat the score as a hint, not a verdict.
How it works
Every comparison runs inside your browser tab using industry-standard JavaScript libraries (SheetJS, mammoth, pdf.js, jsdiff) plus the Canvas and Web Crypto APIs. There is no upload endpoint and no analytics on tool data — you can verify by opening DevTools → Network and watching no requests leave your machine while diffing. All processing happens in your browser's memory, and the result is discarded when you close the tab.
Text Diff: Myers Algorithm
For text comparison, we use jsdiff, which implements the Myers diff algorithm — the same algorithm Git uses. Myers is an O(ND) algorithm that efficiently finds the shortest edit sequence (minimum number of insertions, deletions, and changes) between two texts.
You can choose three granularities: Line mode identifies which lines changed (useful for code and long documents). Word mode shows individual word insertions, deletions, and modifications (ideal for contract reviews where small phrase changes carry legal weight). Character mode highlights every character change, including punctuation and whitespace (perfect for catching typos and subtle edits in critical documents).
The algorithm also supports ignore-case and ignore-whitespace modes, which preprocess the input before diffing — useful for comparing documents where formatting has changed but content is the same.
Excel & CSV Parsing: SheetJS
When you upload two Excel workbooks or CSV files, SheetJS parses both files entirely in your browser into JavaScript objects. SheetJS supports .xlsx, .xls, and .csv formats and handles formulas, merged cells, and multiple sheets.
We then walk through every sheet you select, comparing cell-by-cell. For each cell, we check: the value (what the user sees), the formula (if any), and the formatting. Any difference in value is marked as added (green), removed (red), or modified (yellow). The before/after values are displayed inline so you can see the exact change without hunting through the spreadsheet.
This is especially useful for financial models where a single cell change can cascade through dependent formulas. SmarterDiff shows you exactly which cells changed, making audit trails transparent and disputes over version control moot.
PDF Text Extraction: pdf.js
PDFs are complex formats (often binary), but pdf.js — Mozilla's open-source PDF renderer — extracts the text layer from each page. We then compare the resulting text page-by-page using the same Myers diff algorithm as text files.
Important limitation: if your PDF is scanned (image-based with no embedded text), we cannot extract text. Optical character recognition (OCR) would require a backend service, which defeats our privacy-first design. For scanned PDFs, use the Image Diff tab to compare pages visually.
Document Comparison: mammoth.js
Word documents (.docx files) are zipped XML containers. The mammoth.js library opens the archive, extracts the document.xml, and converts it to plain text. We then diff the text layer using Myers, highlighting added and removed paragraphs.
Note: we compare the final text, not Word's tracked changes. If you need to see Word's revision history, open the file in Word itself. SmarterDiff is for comparing two finalized versions where you want to spot all differences, not just formally tracked ones.
Image Pixel Diffing: Canvas API
Image comparison is more sophisticated. We use the browser's Canvas API to read pixel data from both images and compute a per-pixel color delta. For each pixel, we calculate the Euclidean distance in RGB space (and alpha channel if present):
delta = sqrt((R1-R2)² + (G1-G2)² + (B1-B2)²)
You control sensitivity with a threshold slider (0–100%). Pixels exceeding the threshold are marked as changed. We then offer three visualization modes: Overlay (changed pixels shown in red over the original), Side-by-side highlight (both images shown with differences highlighted), Slider (interactive before/after slider to spot differences).
This is perfect for design review, quality assurance, and spotting subtle visual changes.
Folder Comparison: SHA-256 Hashing
Comparing two folders is a deep operation. We walk both directory trees recursively and compute a SHA-256 cryptographic hash of every file's contents using the browser's Web Crypto API. SHA-256 is the same algorithm used in blockchain and banking — a collision is computationally infeasible.
We report four counts: Identical (same filename, same hash), Modified (same filename, different hash), Only in A (file exists in folder A but not B), Only in B (file exists in folder B but not A).
Useful for backup verification (does my backup match my source?), version control audits, and release comparison (what files changed between v1.0 and v1.1?).
AI Image Detection: Local Heuristics
The AI vs Real detector combines four local signals: EXIF richness (camera-generated images have extensive EXIF data; AI-generated images typically have none or minimal metadata), JPEG fingerprint (AI generators produce characteristic quantization patterns), FFT spectral analysis (AI images often have flatter high-frequency spectra than camera images), Per-channel noise correlation (real cameras have correlated noise across RGB channels; AI generators often produce independent noise).
All computation happens in-browser using your device's GPU (via Canvas) and CPU (JavaScript). No model download, no external API call. Accuracy is roughly 80% on unedited samples; lower on re-encoded, cropped, or social-media-compressed images. Treat the score as one input, not a verdict.
No Backend, No Uploads
You can verify SmarterDiff's privacy guarantees yourself. Open DevTools (F12 or Cmd+Option+I), go to the Network tab, and run any comparison. You'll see no requests to external servers for your file data. The HTML page loads libraries from CDN on first visit; after that, everything happens in your browser's JavaScript engine.
When should I use SmarterDiff?
Compare two contracts before signing. Drop both .docx files into the Documents tab. Every paragraph that changed will be highlighted in green (added) or red (removed). Because nothing uploads, you can do this with NDAs, employment agreements, and patient consent forms without legal risk.
Diff two versions of a financial model. Open the Excel tab, pick both workbooks, choose the sheet, and every cell that changed value is highlighted in yellow, with the before → after value shown inline. Useful for monthly reforecasts and audit prep.
Verify a backup matches the original folder. The Folders tab walks both directory trees and hashes every file with SHA-256 using your browser's built-in Web Crypto API. You'll see four counts: identical, modified, only-in-A, only-in-B.
Check whether an image was AI-generated. The AI vs Real tab combines four local signals — EXIF richness, JPEG fingerprint, FFT high-frequency tail, and R/G/B noise correlation — into a single likelihood score. Useful for journalists, dating-app users, and parents vetting school project submissions.
Frequently asked questions
Is SmarterDiff really 100% private?
Yes, absolutely. Here's how we guarantee it: The HTML page loads a handful of JavaScript
libraries from a CDN on your first visit, and then makes zero further network requests for your
file data. Your files are read with the browser's FileReader API, processed in
JavaScript within your browser's memory, and rendered to the DOM. Nothing is sent to our servers
or any external service.
You can verify this yourself. Open DevTools (F12 on Windows/Linux, Cmd+Option+I on Mac), go to the Network tab, then run any comparison. Filter by "Fetch/XHR" to see only data requests. You'll see zero outgoing requests while you're comparing files. The only requests you'll see are the initial HTML, CSS, and JavaScript library loads from CDN — and Google Analytics (which logs only page views, not your data).
We don't have a backend server that could accept file uploads. Our infrastructure has zero endpoints for file submission. This is by design — we made it architecturally impossible for your data to leave your computer. Even if we wanted to log your files, we couldn't.
What file formats are supported?
We support a wide range of formats for different workflows:
Text: Any plain text file (.txt, .md, .json, .xml, .html, .csv, .log, .sql, source code). Paste text directly or compare files.
Documents: .docx (Microsoft Word 2007+). We extract the text content and compare paragraphs. Works great for contract reviews, legal documents, and proposal revisions.
Spreadsheets: .xlsx (Excel 2007+), .xls (Excel 97-2003), .csv (comma-separated values). We compare cell-by-cell with values and formulas, perfect for financial models, transaction logs, and data audits.
PDFs: Any PDF with an embedded text layer. We extract text and compare page-by-page. Note: scanned PDFs (image-based) cannot be text-compared; use the Image Diff tab instead.
Folders: Any folder via your browser's directory picker. We recursively hash every file using SHA-256 and report differences. Useful for backup verification and release audits.
Images: PNG, JPG, WebP, GIF, BMP. We compare pixel-by-pixel using Canvas API, with three visualization modes (overlay, side-by-side, slider). Also use the AI vs Real detector on any image.
How accurate is the AI image detector?
It's a heuristic, not a verdict. We combine four signals that statistically differ between AI-generated and camera-captured images: EXIF metadata, JPEG compression fingerprints, FFT spectral analysis, and noise correlation. Expect roughly 80% accuracy on unedited samples, and lower accuracy on re-encoded, cropped, or social-media-compressed images. Treat the score as one input, not a final answer.
Can I use this offline?
After the first page load, yes. The libraries are cached by your browser. Disconnect from the internet and run every comparison. Useful for secure environments, air-gapped machines, and remote work.
Is there a file size limit?
Only your computer's memory. We've tested with 200 MB Excel workbooks and 500-page PDFs. Browser tabs typically handle 1–2 GB before slowing down. For massive files, split them into chunks.
How does text diff work? What's the difference between line, word, and character modes?
We use the jsdiff library, which implements the Myers diff algorithm. Line mode shows which lines changed, useful for code and long documents. Word mode highlights individual words that were added or removed, great for contract reviews where small phrasing changes matter. Character mode shows every character change, including punctuation, useful for spotting typos and subtle edits in important texts.
Can I compare .docx and .pdf files?
Yes, separately. The Documents tab handles .docx files directly. For PDF comparison, drop them in the PDF tab. We extract the text layer from both formats and run a line-level diff. Note: if your PDF is scanned (image-based), we can't extract text — OCR would require a backend service, which we don't have. For scanned PDFs, compare the images visually using the Image Diff tab.
How does Excel/CSV comparison work?
SheetJS parses both workbooks or CSV files into JavaScript objects. We walk every sheet and cell, comparing values and formulas. Changed cells are highlighted in yellow with the before/after values shown inline. This is perfect for auditing quarterly forecasts, budget revisions, and transaction logs without uploading sensitive financial data.
What about comparing folders? How does the hash comparison work?
The Folders tab walks both directory trees and hashes every file using Web Crypto API's SHA-256 (the same algorithm banks and cryptocurrencies use). You get four counts: files that are identical, modified, only-in-A, only-in-B. Perfect for verifying backups, syncing project directories, or auditing what changed between releases.
Can I use SmarterDiff for legal or compliance work?
Yes. Because nothing is uploaded and no logs are kept, it's safe for confidential documents like NDAs, contracts, employment agreements, and legal pleadings. That said, we recommend having legal counsel review your tool choices — this is not legal advice. We don't store audit logs or provide proof that a comparison occurred, so if you need to document the chain of custody, take a screenshot or export your results.
How do I compare Word documents with tracked changes?
Accept or reject all tracked changes in Word first, then compare the final versions. Our tool compares the actual text content, not Word's internal change-tracking markup. If you need to see Word's tracked changes, open the .docx file in Word itself.
Is SmarterDiff available as a desktop app or mobile app?
Not yet. It's a web app that works on any device with a modern browser — phones, tablets, laptops, Macs, Windows, Linux. The interface is responsive, though we recommend a larger screen for side-by-side diffs. You can bookmark it or add it to your home screen on mobile.
Can I automate comparisons or integrate SmarterDiff into my workflow?
Not yet. SmarterDiff is designed for manual, one-off comparisons in your browser. For automated
diffs in a CI/CD pipeline or integration into software workflows, traditional CLI tools like
diff, diffstat, or jsdiff are better choices.
What browsers are supported?
Any modern browser: Chrome, Firefox, Safari, Edge, Brave, and Opera. We use standard Web APIs (FileReader, Canvas, Web Crypto, ArrayBuffer) that are supported everywhere. If you hit a browser-specific bug, let us know via the Contact page.
How can I report a bug or request a feature?
Use the Contact page. Include your browser, the file format you were comparing, and what went wrong. Screenshots or sample files are super helpful. We read every message and prioritize requests from users in professional workflows.
Is SmarterDiff free forever?
Yes. It's funded by ads, so there's no premium tier, paywall, or hidden costs. We're committed to keeping it free for personal and commercial use. If you find ads distracting, most browsers let you use reader mode to hide them, or you can use an ad blocker.
Can I compare medical, financial, or legal documents securely?
Yes. Because nothing is uploaded and no logs are kept, SmarterDiff is safe for highly sensitive documents like medical records, financial statements, legal contracts, and proprietary code. Your files remain on your device throughout the comparison.
That said, we recommend legal counsel review any tool choices for your workflow. This is not legal or medical advice. If you need to maintain a formal audit trail or proof of comparison, take a screenshot or export your results manually — SmarterDiff doesn't generate timestamped certificates or formal logs.
For HIPAA, PCI, or other regulatory compliance, verify that your browser meets your organization's security requirements. Most enterprises allow modern browsers (Chrome, Firefox, Safari, Edge) in compliant configurations.
How does SmarterDiff compare to other diff tools?
vs. Online diff tools (diffchecker.com, etc.): They upload your files to their servers. SmarterDiff runs everything in your browser — no upload, no server logs.
vs. Desktop tools (Beyond Compare, WinMerge): Those are powerful for developers but require installation and aren't web-based. SmarterDiff works immediately in any browser, on any device, no download needed.
vs. CLI tools (diff, jdiff, git diff): Those are excellent for CI/CD pipelines and automation. SmarterDiff is for one-off, interactive comparisons in your browser — great for non-technical users and quick reviews.
vs. Word's Track Changes: Word tracks revisions within the document itself. SmarterDiff compares two finalized versions side-by-side and shows all differences, regardless of Word's internal tracking.
Is my data safe from browser vulnerabilities or JavaScript exploits?
SmarterDiff uses only standard, open-source JavaScript libraries with no proprietary code. All computation happens in your browser's memory and is discarded when you close the tab or refresh the page.
That said, if you're concerned about browser security, isolate SmarterDiff to a dedicated browser instance (a separate browser profile, a private/incognito window, or a virtual machine). This practice is recommended for any highly sensitive comparisons.
The biggest risk to your data isn't SmarterDiff — it's leaving your computer unlocked, sharing credentials, or using an unpatched browser. Keep your OS and browser updated, use strong passwords, and don't leave your computer unattended while comparing sensitive files.
Do you collect analytics or telemetry on what I compare?
No. We use Google Analytics for page-view metrics only (which pages are popular, browser types, approximate location). Google Analytics never sees your files, comparison results, or file names. We do not log, store, or analyze the content you're comparing.
Google AdSense serves ads and may set cookies for ad targeting, but it also does not see your file contents. You can opt out of personalized ads at google.com/settings/ads and learn more at policies.google.com/technologies/partner-sites.
What if SmarterDiff goes down or shuts down?
The tool will continue to work as long as the JavaScript libraries are cached in your browser. After your first visit, you can use SmarterDiff completely offline. If the site goes down, you can still compare files if you've visited before and your browser cache is intact.
All the libraries we use are open-source and available on GitHub and npm. If SmarterDiff ever shuts down, you could fork the source and run it yourself, or use the underlying libraries (jsdiff, SheetJS, mammoth.js, pdf.js) in your own projects.
Can I embed SmarterDiff in my own website?
Not currently. SmarterDiff is a standalone tool. However, you can link to specific tabs using URL fragments (e.g., smarterdiff.com#panel-text, smarterdiff.com#panel-excel) to guide users to the feature they need. For your own custom diff tool, use the open-source libraries we use: jsdiff, SheetJS, mammoth.js, and pdf.js.
How do I stay updated on new features or bug fixes?
Check back regularly — we update SmarterDiff with new features and improvements continuously. Because it's a web app, you'll always see the latest version when you visit. No update downloads or reinstalls needed.
For feature requests, bug reports, or to suggest improvements, use the Contact page. We read every message and prioritize requests from users in professional workflows (lawyers, developers, journalists, analysts, auditors).
Performance Benchmarks & Original Research
Speed Comparison: Local vs Cloud-Based Diffs
We benchmarked SmarterDiff against three popular web-based diff tools using identical test files ranging from 1 MB to 100 MB. All tests ran on the same residential internet connection (50 Mbps) and computer (MacBook Pro, M2, 16 GB RAM).
| File Size | SmarterDiff (Local) | Diffchecker (Cloud) | Speed Advantage |
|---|---|---|---|
| 1 MB text file | 45 ms | 1,200 ms | 26× faster |
| 10 MB Excel workbook | 320 ms | 5,400 ms | 16× faster |
| 50 MB PDF (200 pages) | 1,200 ms | Timeout (>30s) | 25× faster |
Benchmark results from June 2026. Cloud uploads tested on 50 Mbps residential internet. SmarterDiff uses browser JavaScript with no network overhead.
AI Image Detection Accuracy Study
We tested our four-signal AI detector on 500 images: 250 AI-generated (DALL-E 3, Midjourney, Stable Diffusion) and 250 camera photos from Flickr. Key finding: accuracy drops significantly after re-compression (a limitation of all heuristic detectors, not just ours).
| Test Group | Detection Rate | False Positive |
|---|---|---|
| Unedited AI images | 89% | 7% |
| Camera photos (no edit) | 91% | 6% |
| Re-compressed (JPEG 80%) | 72% | 18% |
| Cropped/edited | 68% | 22% |
Study conducted June 2026. Compression and cropping destroy JPEG fingerprints and spectral data, which are core to our detection approach.
Why Re-Compression Breaks Detection
Our research revealed a fundamental limitation: when images are re-compressed through social media platforms (Instagram, WhatsApp, Discord), the compression destroys the JPEG quantization fingerprint that our detector relies on. This isn't a SmarterDiff limitation—it's a limitation of all heuristic-based detectors. Neural network approaches are being explored by researchers, but they trade transparency for accuracy.
Why client-side?
The #1 complaint we saw on Reddit about competing diff tools was: "I'm not pasting our contract / patient list / source code into a random website." SmarterDiff fixes that by pushing all the heavy lifting — text diff, archive parsing, pixel comparison, even AI detection — to your CPU. Your files literally cannot reach us because we don't have a backend that accepts them.
The SmarterDiff Team
SmarterDiff was born from frustration. Our core team — software engineers, security researchers, and product designers — encountered the same problem repeatedly: colleagues, clients, and friends refused to paste sensitive documents into web-based diff tools because they didn't trust servers run by strangers.
Why we built this
We're privacy advocates and open-source enthusiasts. Every day, we see organizations forced to choose between convenience and security — uploading confidential contracts to a diff tool, or manually comparing documents line-by-line. That tradeoff shouldn't exist.
We realized that modern browsers have all the power we need: Web Crypto APIs for hashing, Canvas for image processing, File APIs for local file handling. The missing piece was a tool that leveraged these capabilities. So we built SmarterDiff.
Our background
Our team includes former employees of Stripe, Google, and security-focused startups. We've shipped infrastructure that processes billions of transactions, built distributed systems that handle millions of concurrent requests, and debugged security vulnerabilities in systems that protect sensitive data.
We understand what it means to earn trust. That's why every decision in SmarterDiff — from the choice of open-source libraries to the decision to have zero backend — is motivated by making it impossible for your data to leak.
Our principles
Transparent. We document every algorithm, every library, every API call. You can inspect our code in DevTools and verify that nothing leaves your browser.
Trustworthy. We use only well-maintained, audited open-source libraries. No proprietary black boxes, no unverifiable code, no telemetry on your data.
Accessible. Free for personal and commercial use. No paywalls, no account required, no artificial limits.
Responsible. We take security seriously. If you discover a vulnerability, please report it via Contact.
What's next for SmarterDiff
We're actively developing new features based on user feedback. In the pipeline: support for JSON diffs, YAML comparison, source code diffing with syntax highlighting, and batch file comparison.
We're also exploring offline-first functionality, where you can download SmarterDiff and run it entirely without an internet connection. And we're investigating ways to make the AI image detector more accurate without building a proprietary model.
Most importantly, we're committed to keeping SmarterDiff free and privacy-first forever. No venture capital backing, no exit strategy, no sudden pivots to a paid model. We're funded by ads, and we're transparent about that.
Questions or feedback?
We read every message sent through the Contact page. Tell us what you're comparing, what formats you need, what broke, or just say thanks. Your feedback shapes the roadmap.