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 or generating lorem ipsum — every tool runs entirely in your browser with no sign-up. 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.
Case Converter
Convert text to UPPER CASE, lower case, Title Case, Sentence case, camelCase, and more with one click.
Text Reverser
Reverse any text character by character, or reverse the order of words and lines instantly.
Find & Replace
Find and replace words or phrases in bulk text. Supports case-sensitive and regex-based replacements.
Text Truncator
Trim text to a maximum character or word limit. Ideal for meta descriptions, tweets, and previews.
Whitespace Cleaner
Remove extra spaces, blank lines, leading/trailing whitespace, and tabs from any block of text.
Lines & Lists
Remove Duplicate Lines
Paste a list and instantly remove all duplicate lines, keeping only unique entries. Case-sensitive option included.
Sort Lines
Sort lines alphabetically (A–Z or Z–A), by length, or numerically. Useful for cleaning up lists and datasets.
String Repeater
Repeat any string or character a specified number of times. Useful for generating test data or padding strings.
Text Diff
Compare two blocks of text side-by-side. Highlights added, removed, and changed lines for easy review.
Character Frequency
Analyse character frequency in any text. See which letters, numbers, and symbols appear most often.
Generation & Encoding
Lorem Ipsum Generator
Generate placeholder Lorem Ipsum text by words, sentences, or paragraphs. Perfect for design mockups and prototypes.
Text to Slug
Convert any text or headline into a URL-friendly slug. Removes special characters and replaces spaces with hyphens.
Morse Code Translator
Translate text to Morse code and back. Supports full alphabet, numbers, and common punctuation marks.
ROT13 Encoder
Encode or decode text using the ROT13 cipher. The same tool works both ways — great for simple obfuscation.
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
View all articles
What Actually Happens When You Repeat a String 1,000,000 Times — and Which Operations Become Catastrophically Slow
Repeating "abc" 1,000 times is a one-character operation in Python — but what you do with the result matters enormously. String concatenation in a loop with a large repeated string is O(n²); using join() is O(n); at scale, the difference is seconds vs hours. Here's what repetition actually creates in memory, which operations scale linearly vs quadratically on large strings, how JavaScript's "string ropes" differ from Python's contiguous buffers, and when virtual repetition (storing pattern + count) is better than materializing the full string.
From Caesar Cipher to AES: The History of Why Substitution Ciphers Fail
ROT13 is a specific case of the Caesar cipher, which was broken by frequency analysis described in 800 AD. Here's the history from Caesar to Vigenère to Enigma to AES — and what each cipher's failure revealed about what real security requires.
Whitespace as Syntax: Python Indentation, YAML Structure, Prettier, and .editorconfig
Python uses indentation as syntax; YAML prohibits tabs entirely; Make requires tabs. Here's whitespace as code structure, the tabs vs spaces debate resolved by autoformatters like Prettier and Black, .editorconfig for cross-editor consistency, and the CRLF vs LF line ending problem in mixed-platform teams.
Lorem Ipsum Generator — Placeholder Text for Design Mockups & Development
Learn what Lorem Ipsum is, where it comes from, why designers use it instead of real text, and how to generate any amount of placeholder text for mockups, prototypes, and database seeding.
ROT13 in Puzzle Design: Why Escape Rooms and ARGs Use a Cipher That's Deliberately Not Secure
ROT13 in an escape room or puzzle hunt isn't there for security — it's there because recognizing "this is a substitution cipher" IS the puzzle, and decoding it afterward is trivial by design. Here's how puzzle designers use ROT13 as a "calibration" cipher, why shift-amount discovery becomes its own puzzle layer, and ROT13's self-inverse property for spoiler-text use.
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.
Morse Code and the History of Digital Communication: From Telegraph Networks to Huffman Coding
Morse code was the first digital communication protocol — and its variable-length encoding by letter frequency is the same principle used in JPEG compression today. Here's how Huffman coding originated in Vail's counting printer type cases, why timing disambiguates codes without fixed delimiters, and why CW radio survived into the 21st century.
How Diff Works: Git, Three-Way Merge, and the Myers Algorithm Behind It
Git diff, pull request reviews, and three-way merges all run on the Myers diff algorithm. Here's how diff finds the shortest edit between two texts, how to read git diff output, why merge conflicts happen, and how diff applies beyond version control.
Mirror Writing, Palindromes, and Da Vinci: The Surprising History of Reversed Text
Leonardo da Vinci filled his notebooks with mirror script — and nobody fully agrees why. Here's the history of mirror writing, palindromes and semordnilaps, how palindrome detection works in code, and why text reversal has surprising practical applications.
Slug Collisions: What Happens When Two Pages Generate the Same URL, and How CMSs Handle It
Two posts titled "How to Make Sourdough Bread" generate identical slugs by default — and what happens next varies by CMS, from silent numeric suffixes (chocolate-chip-cookies-2) to outright rejection requiring manual resolution. Here's how different collision-handling approaches work, why date/ID-based URL structures avoid most collisions structurally, and the tricky edge case of new content colliding with an old slug's redirect.