Text Utilities

The everyday clean-up and transform toolkit — dedupe, sort, trim, find-and-replace, encode, generate, and count, all in your browser.

Some text jobs are too small to open an editor for and too fiddly to do by hand: stripping duplicate rows out of a list, collapsing a forest of blank lines, swapping every & for and, slugifying a headline, or just checking whether a sentence is a pangram. This hub gathers all of those everyday text utilities in one place — the clean-up, transform, encode, generate, and count tools that writers, developers, data wranglers, and SEO folks reach for a dozen times a week.

Every tool below runs entirely in your browser. Your text is never uploaded, never logged, never stored on a server. Paste, transform, copy, done.

Line tools — clean up lists and rows

When your text is really a list — one item per line — these four tools do the tidying that spreadsheets and editors make painful.

Remove Duplicate Lines

Paste a list and the Remove Duplicate Lines tool collapses every repeated row down to a single instance, preserving the original order of first appearance. Great for de-duplicating email lists, keyword sets, or any export where the same value shows up more than once.

When to use: cleaning a mailing list, de-duping a keyword research export, merging two lists into one unique set.

Remove Blank Lines

The Remove Blank Lines tool strips out every empty or whitespace-only line, closing the gaps so your content is one solid block. Use it after copying text out of a PDF or email, which often double-spaces everything.

When to use: tightening up text pasted from a PDF, removing the blank rows a CSV export leaves behind, compacting a draft before a word count.

Sort Lines

The Sort Lines tool reorders your lines alphabetically (A–Z) or in reverse (Z–A) in one click. Handy for putting a glossary, a bibliography, or a tag list into a predictable order before you publish or compare it.

When to use: alphabetising a glossary or reference list, preparing two lists for a clean diff, ordering tags or categories.

Trim Whitespace

The Trim Whitespace tool strips trailing spaces off the end of every line and collapses runs of multiple spaces or tabs down to a single space. It targets the invisible junk — the stray spaces that break diffs, inflate character counts, and trip up code linters.

When to use: cleaning copy-pasted code or data, fixing inconsistent spacing in a draft, prepping text so a diff only flags real changes.

Find & compare — bulk edits and before/after

Two tools for the moments when you need to change many things at once, or see exactly what changed.

Find & Replace

The Find & Replace tool swaps every occurrence of one string for another across your whole text in a single pass. It supports plain-text matching for the simple cases and full regular expressions for the powerful ones — capture groups, anchors, character classes, the lot.

When to use: bulk-renaming a term across a document, normalising punctuation (straight quotes to curly), stripping a repeated prefix, regex-driven reformatting of structured data.

Text Diff & Compare

The Text Diff & Compare tool puts two versions of your text side by side and highlights exactly what was added, removed, or changed between them. No more squinting at two tabs trying to spot the one edited word.

When to use: reviewing edits to a draft, comparing two config files, checking what a Find & Replace actually changed, spotting plagiarism or unauthorised edits.

Encoders for developers

The classic encode/decode utilities every developer reaches for. These each get a short summary here, but if you want the deeper primer on how each format works, see the dedicated Encoding Guide, which goes further on Base64, ROT13, URL, HTML, and Binary.

ROT13 Cipher

The simplest substitution cipher: every letter is rotated 13 places through the alphabet, and because 26 ÷ 2 = 13, applying it twice returns the original. The ROT13 tool encodes and decodes in one click. It is for hiding spoilers, not securing secrets.

When to use: Reddit/Usenet-style spoiler tags, light puzzle obfuscation, teaching elementary cryptography.

Base64 Encode/Decode

The standard way to carry binary data — images, certificates, file payloads — inside text-only formats like JSON, email, and JWT tokens. The Base64 Encoder/Decoder auto-detects which direction you need. Remember: Base64 is encoding, not encryption.

When to use: decoding a JWT auth token, building data URLs, embedding an image in HTML or email.

URL Encode/Decode

Percent-encoding is how URLs carry spaces and special symbols — a space becomes %20, a question mark becomes %3F. The URL Encode/Decode tool converts in both directions so you can hand-craft or debug a URL safely.

When to use: debugging an API request, embedding user input in a query string, building a tracking link by hand.

HTML Entity Encode/Decode

HTML entities escape characters that would otherwise be read as markup — <, >, &, and the double-quote — plus thousands of named symbols. The HTML Entity Encoder safely escapes a string for display in HTML and decodes it back.

When to use: sanitising user input before display, fixing text that renders as <b> instead of bold, building a CMS importer.

Markdown → HTML

The Markdown → HTML tool converts standard CommonMark into clean, semantic HTML — headings, lists, links, and emphasis the way the browser expects them.

When to use: turning a Markdown draft into HTML for a CMS, composing an HTML email from plain text, publishing notes to the web.

HTML → Markdown

The HTML → Markdown tool runs the conversion the other way, stripping HTML down to portable Markdown for content migration between Notion, Obsidian, GitHub, and static-site generators.

When to use: migrating content out of a CMS, archiving web pages as plain text, cleaning messy pasted HTML into readable Markdown.

Generators & misc

Tools that produce text rather than transform it.

Random Number Generator

The Random Number Generator produces random numbers within a range you set — pick a winner, seed test data, or break a tie. It runs locally in your browser using the platform's random source.

When to use: drawing a giveaway winner, generating sample data, making an unbiased pick from a numbered list.

Hashtag Generator

The Hashtag Generator turns a phrase or list of keywords into ready-to-paste social hashtags, stripping spaces and prefixing each tag with #.

When to use: drafting Instagram, TikTok, or X captions, building a campaign hashtag set, repurposing keywords as tags.

URL Slug Generator

The URL Slug Generator converts a headline into a clean, lowercase, hyphenated slug — no spaces, no punctuation, no accents — ready to drop into a permalink.

When to use: creating SEO-friendly permalinks, naming files and routes consistently, generating anchor IDs from headings.

Repeat Text

The Repeat Text tool repeats a word, line, or block as many times as you ask — with or without a separator. Useful for placeholder content, stress tests, and quick mock-ups.

When to use: generating filler text, building repetitive test input, padding a layout mock-up.

Quick counters

Two single-purpose checkers for when you need one fast answer about a string.

Pangram Checker

The Pangram Checker tells you whether a sentence uses every letter of the alphabet at least once — and which letters are missing if it doesn't. A pangram-hunter's best friend.

When to use: verifying a font specimen sentence, designing typography samples, word-game and puzzle building.

Vowel & Consonant Counter

The Vowel & Consonant Counter tallies how many vowels and consonants a piece of text contains, with a breakdown by letter. Useful for linguistics exercises, poetry analysis, and word games.

When to use: analysing scansion or rhyme, teaching phonics, solving letter-frequency puzzles.

Quick reference

UtilityWhat it doesTypical user
Remove Duplicate LinesCollapses repeated rows to one eachData, SEO
Remove Blank LinesStrips empty lines and closes gapsWriter, Data
Sort LinesOrders lines A–Z or Z–AData, Writer
Trim WhitespaceRemoves trailing spaces, collapses runsDeveloper, Data
Find & ReplaceBulk swaps text, plain or regexWriter, Developer
Text Diff & CompareHighlights what changed between versionsWriter, Developer
ROT13Rotates letters 13 places (spoiler-hiding)Developer
Base64 Encode/DecodeBinary data as safe textDeveloper
URL Encode/DecodePercent-encodes URL-unsafe charactersDeveloper, SEO
HTML Entity Encode/DecodeEscapes characters for safe HTMLDeveloper
Markdown → HTMLConverts CommonMark to HTMLWriter, Developer
HTML → MarkdownConverts HTML back to MarkdownWriter, Developer
Random Number GeneratorRandom numbers in a rangeData, Writer
Hashtag GeneratorTurns keywords into #hashtagsSEO, Writer
URL Slug GeneratorMakes clean hyphenated slugsSEO, Developer
Repeat TextRepeats text N timesDeveloper, Writer
Pangram CheckerChecks for all 26 lettersWriter
Vowel & Consonant CounterTallies vowels vs consonantsWriter

Frequently asked questions

Do these tools upload my text anywhere?
No. Every utility on this hub runs entirely in your browser using JavaScript. Your text never leaves your device — it is not sent to a server, logged, or stored. You can confirm this by disconnecting from the internet after the page loads; the tools keep working.
What's the difference between Remove Blank Lines and Trim Whitespace?
Remove Blank Lines deletes whole lines that are empty (or contain only spaces), pulling the remaining lines together. Trim Whitespace keeps every line but removes the invisible spaces and tabs within and at the end of lines. Use Remove Blank Lines to close vertical gaps; use Trim Whitespace to clean horizontal junk. They're often run back to back.
Can Find & Replace use regular expressions?
Yes. The tool supports both plain-text matching for simple swaps and full regular expressions for advanced work — capture groups, anchors, character classes, and flags. Switch to regex mode when you need pattern matching rather than a literal string match.
Should I dedupe before or after sorting?
Either works, but the order changes the result. Remove Duplicate Lines preserves first-appearance order, so deduping then sorting gives you a clean, alphabetised, unique list — usually what you want. Sorting first then deduping produces the same unique set but is slightly wasteful. For most cleanup jobs: dedupe, then sort.
Base64 vs URL encoding — which do I need?
Use Base64 when you need to carry binary data (a file, image, or certificate) through a text-only channel like JSON or email. Use URL encoding when you need to put text with special characters safely into a URL or query string. They solve different problems and are not interchangeable. The Encoding Guide explains both in depth.
Is ROT13 or Base64 secure?
No. Both are encoding, not encryption — anyone can reverse them instantly without a key. Use them for transport and obfuscation only. For real security (passwords, secrets, sensitive data), use a dedicated encryption tool or your password manager.