About DedupeLines · A browser-local line cleaner
A focused toolbox for cleaning line-oriented text — built for data teams that don't want to upload a customer list to find out it had 12% duplicates. Your text never leaves your browser; only anonymous page-view counts do.
Why this exists
Every data person has hit the same wall: you have a list of emails / SKUs / URLs / log lines. You need to dedupe it, count duplicates, or strip blank rows. Excel's Remove Duplicates changes column order. Google Sheets UNIQUE() drops the cells you cared about. Online tools want you to upload your customer list to a server you've never heard of.
DedupeLines is the smallest viable answer to that workflow: paste, toggle, run, copy back. The text never leaves your browser. No account, no signup, no upload step. Reload the page once and you can pull the Ethernet cable — the tool still works.
How it works
The engine is a single dedupe.js file — an O(n) hash table built on a prototype-free Object.create(null) map. The same engine handles dedup, frequency counting, regex line filtering, reverse, shuffle, blank-line removal, trim, and line numbering — selected via a mode option.
For inputs above 2 MB (or 100K lines) on desktop / 300 KB on mobile, the tool routes processing into a Web Worker so the page stays interactive on multi-million-row files. The hard cap is 80 MB per run. A 156K-row list with full duplicate detection runs in under 300 ms on a 2022 laptop. We've measured it.
If you want to read the engine: it ships as plain JavaScript at /static/js/dedupe.js — no minifier, no source map. Open it, audit it, copy the function into a Node script if you want to batch-process from the terminal. We don't gate it behind a GitHub mirror; the file is the file.
What we won't do
- No upload of your input. No server-side processing of your text — the entire engine runs in your browser. The whole reason to use this tool is that your pasted text never leaves your machine.
- No login. Nothing to gate, nothing to recover, nothing to phish.
- No tracking of your input text. Your pasted text never reaches our servers, our analytics, or our ad partners. We measure anonymous page-view counts (which page you opened, country, browser class) separately from your content — the two streams are never combined. See privacy policy for the full split.
- Free to use. Six languages, six tools, in-depth posts under /updates — all free, no “upgrade for more” paywall. Operating costs are covered by anonymous display advertising and a focus on keeping infrastructure simple.
Behind the project
DedupeLines launched on 2026-05-17. We're a small remote team based in United States, working under NoxStarLabs — a studio focused on tools that respect user data.
We deliberately keep the team and identity small. There's no marketing department, no growth hacker, no “founder LinkedIn” we want you to follow. The product is the team — the cleanest signal of who built this is the source code you can read at /static/js/dedupe.js and the changelog at /updates.
What we put under our name: every page on this site, every line of the engine, every translation in DedupeLines's six languages. What we won't put under our name: someone else's customer list, “trial signup,” or a CDN node that quietly proxies your text.
What's next
A short shortlist of where the project is going:
- A few more single-purpose tools — line sort, word-level dedup, simple find-and-replace, and a column splitter for CSV-flavored input.
- One or two long-form Excel / Sheets / SQL tutorials per month under /updates.
- Translations: we currently ship in English, Deutsch, Español, Français, 日本語 and 中文. Want another? [email protected] — pitch us.
What we are deliberately not adding: an account system, a paid tier, or anything that asks you to upload your data. If you need to pipe data through this engine programmatically, the source is right there — /static/js/dedupe.js — fork it into your own script.
Get in touch
Bug report, translation suggestion, blog request, or just a hello: [email protected].
We read every message. Reply time is usually under 48 hours during weekdays in United States business hours; longer on weekends and holidays. Please include a sample of your input (or a screenshot of the bug) — it's the fastest path to a fix.