ToolChop

Text & Writing Tools

Count, format, sort, dedupe, diff, and rewrite text without sending it anywhere.

Most text tools online are wrappers around a 30-line JavaScript function that someone pasted onto a page surrounded by ten ads. The functions themselves are usually fine — sort, dedupe, count, change case — but the experience is awful, and worse, many of them quietly send your text to a server before running. That's a privacy problem if the text is private (a draft email, a contract, a list of customer names). Everything on this page is the bare 30-line function: in your browser, instant, and not sent anywhere.

These are also the building blocks of an editor's daily workflow. Word counters validate that an essay hit a target. Case converters reformat copy-pasted text into something publishable. Sort and dedupe clean up lists scraped out of spreadsheets. Diff finds the change between two versions of the same paragraph. None of them are intellectually deep, but they save 30 seconds a dozen times a day, which adds up to a meaningful amount of time over a week.

For text specifically, the privacy concern is real. If you're working with internal documents, unpublished writing, or anything subject to an NDA, you do not want to paste it into a random text utility hosted by someone you don't know. Even “we promise we don't store it” is hard to verify on someone else's server. Tools that run client-side are verifiable: open DevTools, watch the network tab, drop in your text, and confirm nothing leaves your machine. Every text tool here is structured that way.

All text tools (9)

Common text workflows

Hitting a word count. Word Counter shows running totals for words, characters (with and without spaces), sentences, paragraphs, and average reading time. Useful for essays with a hard limit (LinkedIn captions max 3,000 chars; bios capped at 160; cover letters at 400 words). Character Counter is the focused version for character-only limits.

Reformatting copy-pasted text. Pulling text out of a PDF often produces broken line breaks mid-paragraph. Remove Line Breaks strips them and rewraps the prose. Text Case Converter normalizes case — useful when you've pasted a HEADLINE IN ALL CAPS and want Title Case, or vice versa. The same tool also converts to camelCase, snake_case, and kebab-case for code identifiers.

Cleaning up a list. Email lists, todo lists, CSV columns dumped into a text editor — anything line-based. Sort Lines orders alphabetically (A-Z or Z-A), by length, or shuffles randomly. Remove Duplicate Lines dedupes case-sensitively or insensitively. Chain them: sort first to group duplicates together, then dedupe.

Comparing two versions. Text Diff highlights inserts and deletes between two pieces of text. Useful for finding what changed in a paragraph between revisions, spotting a sneaky edit to a paste, or comparing a draft with a published version. The diff runs in the browser — no diff server.

Live-previewing Markdown. Markdown Preview renders as you type. Useful for drafting a README, a blog post, or a GitHub issue without committing and pushing to see the formatted output. The renderer is the same Markdown flavor most of the web uses (CommonMark + GFM tables and task lists).

Frequently asked questions

Is anything I paste here sent to a server?

No. Every text tool runs in JavaScript inside your browser tab. The text never makes a network request. You can confirm by opening DevTools → Network, pasting your text, and watching: nothing fires. That's the whole point of doing this client-side.

Is there a length limit?

No fixed limit. Each tool can handle hundreds of thousands of characters comfortably; performance only starts to drop in the millions. If you're working with very large text (book-length manuscripts, full database dumps), the limit is your tab's memory.

Why is the character count different from Google Docs?

Most counters count visible characters. Some count differently when text has invisible characters (non-breaking spaces, zero-width joiners, smart quotes that look like regular quotes). The word counter here treats whitespace as the only separator, so an em-dash—like-this counts as one word, not three.

How does sort handle numbers in text lines?

Sort is lexicographic by default — '2' sorts after '10' because '2' > '1'. Most line-based sorters in command-line tools work the same way. If you need numeric sort, pad numbers with leading zeros first (002 < 010), or use a spreadsheet for proper numeric sorting.

Does Markdown Preview support GFM features (tables, task lists, code highlighting)?

Yes — tables, task lists, fenced code blocks, autolinks, and strikethrough all render. The renderer follows GitHub-Flavored Markdown. Syntax highlighting inside code blocks is supported for the common languages.

Can I save the result?

Each tool shows the result in a copyable text area — select-all, copy, and paste anywhere. Some tools also offer a download button for the result as a .txt file. The browser doesn't have a way to write back to the file you opened, so the round-trip is always: paste in, copy out.

More categories