Free Online Text Tools
Everyday text processing without leaving the browser
A lot of programming is text processing dressed up as something else: a regex needs testing before it ships, two config files need to be compared, an identifier needs to move from camelCase to snake_case for a different language, or a block of Markdown needs to become clean HTML for a CMS. This category groups the text utilities that handle those tasks — with live previews, sensible defaults, and documentation that explains the gotchas you would otherwise learn the hard way.
All Text Tools
Regex Tester
Test regular expressions online with live match highlighting, capture-group and named-group output, and every JavaScript flag (g, i, m, s, u, y). Free, no signup, no ads — runs entirely in your browser.
Regex Replace
Find and replace text with a regular expression online. Supports every JavaScript flag (g, i, m, s, u, y), all backreferences ($1..$9, $&, $`, $', $<name>), and escape sequences (\n, \t) in the replacement. Live match-by-match preview and diff. 100% local.
Text to Speech
Convert text to spoken audio using your browser's built-in Speech Synthesis API. Pick from all voices installed on your OS, adjust rate, pitch, and volume. No account, no download, no upload — 100% local.
XML Formatter
Format, beautify, and validate XML documents online. Handles namespaces, CDATA sections, and mixed content.
SQL Formatter
Format and beautify SQL queries. Supports SELECT, JOIN, subqueries, CTEs, and multiple SQL dialects.
Case Converter
Convert text between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, and more.
Text Diff
Compare two text snippets side-by-side and highlight the differences. Word- and line-level diff, everything runs in your browser.
Slugify
Convert any title or text to a URL-friendly slug (e.g. "Hello World!" → "hello-world"). Handles Unicode accents, ampersands, punctuation, and custom separators. Batch mode processes one line per slug. 100% local.
Remove Duplicates
Remove duplicate lines from any text list. Optional case-insensitive matching, trim whitespace, ignore empty lines, and 'keep first' vs 'keep only uniques' modes. Shows a frequency report. 100% local.
Text Sort
Sort text lines alphabetically, numerically, by natural order (2 < 10), or by length. Also supports random shuffle, reverse, deduplicate on-the-fly, and case-insensitive comparison. 100% local.
Random Picker
Randomly pick N items from any list (one per line). Choose with or without replacement, ignore blank lines, and trim whitespace. Uses Fisher-Yates shuffle for uniform, unbiased selection. 100% local.
List Shuffler
Shuffle any list of lines into random order using Fisher-Yates. Optional trimming and blank-line filtering. Great for bucketing users into A/B tests, randomizing a playlist, or breaking alphabetical bias. 100% local.
Duplicate Finder
Find duplicate lines in any text list online. Shows each repeated value, how many times it appears, and its original line numbers. Case-insensitive by default, whitespace-trim toggle, and empty-line filtering. Free, no signup — 100% local.
Text Reverser
Reverse any text online — flip characters ("hello" → "olleh"), reverse word order in each line, reverse the sentence order of a paragraph, or reverse the order of lines. Emoji and Unicode safe. 100% local.
Title Case
Capitalize titles the right way. Apply AP, Chicago, APA (7th), MLA, or Wikipedia title-case rules with correct handling of articles, short prepositions, and coordinating conjunctions. Preserves acronyms like HTML, USA, and NASA. 100% local.
Word Counter
Count words, characters, sentences, paragraphs, and reading time in any text. Includes a byte-size estimate for storage planning.
Character Counter
Count characters, graphemes, Unicode code points, and UTF-8 bytes in real time. Shows live remaining-quota bars for X (Twitter), SMS, meta description, LinkedIn, Instagram, YouTube titles, and more. 100% local.
Line Counter
Count total lines, non-empty lines, code lines vs comment lines, and blank lines in any text or source file. Reports longest / shortest / average line length. Optional numbered-line output. 100% local.
Text Repeater
Repeat any text 1 to a million times online. Three modes: direct concat, one per line, or joined with a custom separator. Optional index-based template like 'Item {i}: {t}'. 100% local, output capped for browser safety.
Text to Binary
Convert any text to its binary (base-2) representation. Each UTF-8 byte becomes an 8-bit group, separated by your choice of delimiter. Supports emoji and any Unicode character. Also converts back — see the Binary to Text tool. 100% local.
Binary to Text
Convert a binary (base-2) string back to text. Every 8 bits become one UTF-8 byte; invalid sequences show as U+FFFD (�). Accepts space, comma, hyphen, or no separator. 100% local.
String to Hex
Convert any text (UTF-8) to its hexadecimal byte representation. Configurable separator (space / comma / none), lowercase / uppercase, and optional "0x" prefix per byte. Handles emoji, CJK, and every Unicode character correctly. 100% local.
Hex to String
Convert a hexadecimal byte string back to text. Accepts any separator — space, comma, hyphen, '0x' prefixes, or no separator at all. Invalid UTF-8 sequences show as U+FFFD (�) with a clear warning. 100% local.
Hex to Binary
Convert a hex string to its binary (base-2) representation. Each hex character becomes 4 bits; output grouped as 4 bits per hex char or 8 bits per byte. Ignores '0x' prefixes and any separators automatically. 100% local.
Binary to Hex
Convert a binary (base-2) string to hexadecimal. Every 8 bits become 1 hex byte; input is separator-tolerant (space, comma, hyphen, or continuous bits). Optional '0x' prefix and uppercase output. 100% local.
Markdown → HTML
Convert Markdown to HTML with a live preview. Supports GitHub Flavored Markdown (tables, task lists, strikethrough, code fences). Free, no signup, runs entirely in your browser.
Markdown Table
Generate GitHub-flavored Markdown tables from a spreadsheet-style grid or by pasting CSV / TSV data. Column alignment (left / center / right), automatic pipe escaping, and human-readable padding. Import from Excel / Google Sheets. 100% local.
Code Diff
Compare two code snippets side-by-side or in unified view, with syntax highlighting for JavaScript, TypeScript, Python, Go, Rust, Java, C#, SQL, CSS, HTML, JSON, YAML, and shell. Ignore whitespace / case options. 100% local.
Indentation Converter
Convert between spaces and tabs in your code. Auto-detect the space count per indent level. Configurable tab size. Side-by-side preview. 100% local.
Text Analyzer
Analyze any text: character count, word count, sentence count, paragraph count, line count, reading time, and letter frequency. Real-time stats as you type. 100% local.
When to use these tools
Use these tools when building or debugging a regex, reviewing what changed between two text snippets, converting identifiers between naming conventions, or preparing content for the web.
Frequently Asked Questions
Which regex flavor does the tester use?
JavaScript (ECMAScript) regex, exactly as it behaves in modern browsers. Features specific to PCRE (like lookbehind assertions in some engines) or Python are called out where they differ.
Is the diff line-level or word-level?
Line-level by default, which matches how `git diff` and code-review tools present differences. That makes the output directly useful for reviewing config or code changes.