Text Cleaner
Remove extra whitespace, special characters, HTML tags and fix encoding issues
Count, clean, convert, sort and compare text without pasting it into somebody else's server.
Grouped by what you want to get done. Star a tool to find it again on the homepage.
Remove extra whitespace, special characters, HTML tags and fix encoding issues
Remove duplicate lines from any block of text, with optional sorting
Strip all blank or empty lines from a block of text
Sort lines of text alphabetically, numerically, by length, or reverse order
Find and replace text with plain string or regex patterns across a document
Convert text between camelCase, snake_case, kebab-case, PascalCase, UPPER and more
Convert any text to a URL-friendly slug with customizable separators
Generate placeholder Lorem Ipsum text by paragraphs, sentences or words
Pull all email addresses from any block of text using regex
Extract all URLs and hyperlinks from a text block or HTML source
Find and extract all phone numbers from a body of text
Test regular expressions in real-time with flags, match highlights and groups
Count words, characters, sentences and paragraphs, plus reading time and readability stats
Often used alongside these, from other categories.
Text tools look trivial until you need one at the exact moment you cannot use one: a paragraph that has to fit a character limit, a list that needs deduplicating before an import, a block of copy that carries invisible formatting from a Word document. These run locally, which matters more than it sounds: the text people paste into online converters is often a draft contract, a customer list or an unpublished announcement.
A tweet, an SMS and a database column each count differently: emoji and accented characters can be one character to a reader, several bytes in UTF-8, and two units in the UTF-16 length that many APIs report. When a limit matters, check the count that the system enforcing it actually uses.
Most failed imports come from invisible characters: non-breaking spaces, smart quotes, zero-width joiners and stray carriage returns pasted out of a document or a web page. Stripping those first is what makes the sort, the deduplication or the CSV conversion behave.
Title case, sentence case, camelCase, snake_case and kebab-case all mean different things to different systems, and converting between them is not reversible once word boundaries are lost. Convert from the most structured form you have, not from an already-converted one.