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

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.

Jun 16, 2026
From Caesar Cipher to AES: The History of Why Substitution Ciphers Fail

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.

Jun 9, 2026
Whitespace as Syntax: Python Indentation, YAML Structure, Prettier, and .editorconfig

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.

Jun 11, 2026
Lorem Ipsum Generator — Placeholder Text for Design Mockups & Development

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.

Jun 6, 2026
ROT13 in Puzzle Design: Why Escape Rooms and ARGs Use a Cipher That's Deliberately Not Secure

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.

Jun 13, 2026
Truncation Bugs: Database VARCHAR Silent Data Loss, CSS Overflow, and Windows Path Length Limits

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.

Jun 10, 2026
Morse Code and the History of Digital Communication: From Telegraph Networks to Huffman Coding

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.

Jun 10, 2026
How Diff Works: Git, Three-Way Merge, and the Myers Algorithm Behind It

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.

Jun 8, 2026
Mirror Writing, Palindromes, and Da Vinci: The Surprising History of Reversed Text

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.

Jun 10, 2026
Slug Collisions: What Happens When Two Pages Generate the Same URL, and How CMSs Handle It

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.

Jun 13, 2026