Text Tools

Process, transform, and analyse text with 15 free utilities built for writers, developers, and content creators.

From counting words and converting letter case to diffing two documents, generating lorem ipsum, or encoding with Morse code — every tool runs entirely in your browser. Paste your text and get results in seconds, with nothing uploaded to any server.

Writing & Editing
Word & Character Counter
Count words, characters, sentences, paragraphs, and reading time. Paste any text for instant analysis.
Use Word Counter
Case Converter
Convert text to UPPER CASE, lower case, Title Case, Sentence case, camelCase, and more with one click.
Use Case Converter
Text Reverser
Reverse any text character by character, or reverse the order of words and lines instantly.
Use Text Reverser
Find & Replace
Find and replace words or phrases in bulk text. Supports case-sensitive and regex-based replacements.
Use Find & Replace
Text Truncator
Trim text to a maximum character or word limit. Ideal for meta descriptions, tweets, and previews.
Use Text Truncator
Whitespace Cleaner
Remove extra spaces, blank lines, leading/trailing whitespace, and tabs from any block of text.
Use Whitespace Cleaner
Lines & Lists
Remove Duplicate Lines
Paste a list and instantly remove all duplicate lines, keeping only unique entries. Case-sensitive option included.
Use Remove Duplicates
Sort Lines
Sort lines alphabetically (A–Z or Z–A), by length, or numerically. Useful for cleaning up lists and datasets.
Use Sort Lines
String Repeater
Repeat any string or character a specified number of times. Useful for generating test data or padding strings.
Use String Repeater
Text Diff
Compare two blocks of text side-by-side. Highlights added, removed, and changed lines for easy review.
Use Text Diff
Character Frequency
Analyse character frequency in any text. See which letters, numbers, and symbols appear most often.
Use Char Frequency
Generation & Encoding
Lorem Ipsum Generator
Generate placeholder Lorem Ipsum text by words, sentences, or paragraphs. Perfect for design mockups and prototypes.
Use Lorem Ipsum
Text to Slug
Convert any text or headline into a URL-friendly slug. Removes special characters and replaces spaces with hyphens.
Use Text to Slug
Morse Code Translator
Translate text to Morse code and back. Supports full alphabet, numbers, and common punctuation marks.
Use Morse Code
ROT13 Encoder
Encode or decode text using the ROT13 cipher. The same tool works both ways — great for simple obfuscation.
Use ROT13

Free Online Text Tools

Our collection of free text tools helps writers, developers, and content creators work faster. From word counting and case conversion to sorting lists, generating Lorem Ipsum, and encoding text — all tools run instantly in your browser with no sign-up required.

From the Blog

In-depth technical articles and guides.

View all →
Regex for Data Cleaning: Practical Patterns for Messy Real-World Data
Real-world data — phone numbers, dates, emails, log entries, product codes — arrives inconsistently. Here are the regex patterns for the most common data cleaning tasks: phone normalisation, date standardisation, HTML stripping, whitespace cleaning, and log redaction.
Reversing Text Is Harder Than It Looks — Unicode Bidirectional Algorithm, Grapheme Clusters, and the Trojan Source Attack
Reversing Arabic text character-by-character produces nonsensical output — Arabic is stored in logical reading order and reversed by a rendering engine, so reversing code points produces different words backward, not mirrored text. Here's how Unicode's bidirectional algorithm assigns direction to each character, why emoji sequences need grapheme cluster reversal rather than code-point reversal, and how the Trojan Source vulnerability exploited RLO (Right-to-Left Override) control characters to hide malicious code in source file reviews.
What Does "Duplicate" Actually Mean? The Normalization and Merge Decisions Behind Effective Deduplication
Deduplication is a business logic decision masquerading as a technical one — "duplicate" means different things for contact lists (same email, different fields) vs URL lists (case sensitivity, trailing slashes) vs product catalogs (same SKU, different descriptions). Here's the exact vs near-duplicate distinction, normalization as the preprocessing step that determines deduplication quality, CRM merge strategies, and URL-specific case sensitivity rules.
Where Lorem Ipsum Actually Comes From: Cicero, a Mid-Word Cut, and Centuries of Corruption
"Lorem ipsum" isn't a real Latin phrase — it's literally the tail end of "dolorem ipsum" ("pain itself"), cut off mid-word from a genuine passage of Cicero's philosophy, then scrambled and partially invented over centuries of typesetting. Here's the actual source text, how a coherent philosophical passage became nonsense, and why the "fakeness" arguably works in its favor as placeholder text.
Truncation Bugs: Database VARCHAR Silent Data Loss, CSS Overflow, and Windows Path Length Limits
MySQL silently truncates strings that exceed VARCHAR column lengths — no error, just missing data. Here's database silent truncation, CSS text-overflow and multi-line clamping, the accessibility problem with truncated UI text, API response truncation flags, and the Windows 260-character path length problem.
Why Git Merge Conflicts Occur Exactly Where They Do — Three-Way Merge, diff3, and Semantic Conflicts
Three-way merge — Git's algorithm for combining two branches — uses a third input (the common ancestor) to determine who changed what, enabling automatic combination when edits don't overlap. Here's why merge conflicts occur exactly where they do (both sides changed the same region), the diff3 conflict format that shows the base alongside ours/theirs, why "no merge conflicts" doesn't mean the code is correct (semantic conflicts), and why "ours" and "theirs" flip meaning between git merge and git rebase.
Why Lorem Ipsum Is Statistically Biased for English Layouts — and When Content-First Design Is Better
Lorem Ipsum's Latin word-length distribution is statistically different from English, which is why layouts that look balanced with placeholder can break with real copy. Here's the average word length across languages, why button and navigation placeholder text is particularly misleading, how Cicero's long-sentence rhetorical style differs from web copy, and when content-first design eliminates the placeholder problem entirely.
Zero-Width Characters Are Used to Watermark Leaked Documents and Bypass Spam Filters — Here's the Full Invisible Unicode Taxonomy
Zero-width spaces and zero-width non-joiners are used to watermark confidential documents — each recipient gets a unique binary pattern embedded invisibly, allowing leaks to be traced back to the specific recipient. Here's the full taxonomy of invisible Unicode characters (U+200B zero-width space, U+00A0 non-breaking space, directional controls), why Python's str.strip() doesn't remove non-breaking spaces, and how invisible characters are used to bypass content filters by breaking exact-match pattern recognition.
Text Diff in Practice: Legal Redlining, Code Review, and How AI Writing Assistants Show Changes
Legal document redlining, Git pull request review, Word's Track Changes, and AI writing assistants all use the same diff principle. Here's how each context uses comparison differently, why legal diff needs more than plain text comparison, and how AI tools use diff to show suggested edits.
Why sed's s/old/new/g Fails With File Paths — Delimiters, Capture Groups, and the GNU vs BSD sed Difference
sed's `s/old/new/g` fails when patterns contain forward slashes (like file paths) — but any character can be the delimiter: `s|/usr/local|/usr/share|g` works identically. Here's the complete sed substitution syntax including & for matched content and \1 capture groups, the -i in-place editing difference between GNU sed (Linux) and BSD sed (macOS), and why grep-first-then-sed is the workflow that prevents data loss.