Text Tools
Case conversion, counting, diff, cleanup.
16 tools · all run in your browser
The text operations that turn up constantly in every kind of work: change case in one click (camelCase, SCREAMING_SNAKE_CASE, Title Case, slug-case), count characters and words for form limits and social posts, strip extra whitespace, remove duplicate lines, run a diff between two versions of a document, or generate placeholder Lorem Ipsum copy. All run fully in your browser — nothing you paste leaves the tab.
Two tools that save the most time: Text Diff (paste any two blocks, get a colored line-by-line diff — useful for comparing API responses, reviewing config changes, or spotting what changed in a pasted document) and Case Converter (supports 10 naming conventions, so you can paste a heading and convert it to a JavaScript variable name or CSS class in one click).
For more structured data operations — converting between JSON, YAML, and CSV — see the Data Converters category. For encoding and escaping text (Base64, URL-encoding, HTML entities), see Encoding & Decoding.
All text tools
- Anagram CheckerCheck whether two words or phrases are anagrams. Options to ignore case, spaces, and punctuation. Shows the character-level diff when they don't match.
- Case ConverterConvert text between 12 cases: lower, UPPER, Title, Sentence, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case, and aLtErNaTiNg. Runs entirely in your browser.
- Line SorterSort lines alphabetically, numerically, or by length. Remove duplicates, trim whitespace, shuffle randomly. Runs entirely in your browser.
- Lorem Ipsum GeneratorGenerate placeholder text in classic Lorem Ipsum or six themed flavors: hipster, pirate, corporate buzzword, cyberpunk, and cat. Adjust paragraph and sentence count.
- NATO Phonetic AlphabetConvert any text into the NATO phonetic alphabet — Alfa, Bravo, Charlie, Delta, Echo, Foxtrot, and so on. Perfect for spelling names over the phone.
- Palindrome CheckerCheck if a word, phrase, or sentence is a palindrome. Optionally ignore case, spaces, and punctuation. Handles emoji and Unicode correctly.
- Random String GeneratorGenerate random strings for tokens, IDs, or test fixtures. Choose length, character set, cryptographic randomness, and optional prefix.
- SlugifyConvert titles into clean URL slugs. Handles Unicode, strips diacritics, and lets you pick your separator. Runs in your browser.
- Text DiffCompare two blocks of text line by line and see exactly what changed. Runs entirely in your browser using a longest-common-subsequence algorithm.
- Text RepeatRepeat any text a chosen number of times with a custom separator. Handy for load tests, seed data, and quick fixture generation.
- Text ReverseReverse text by characters, words, lines, or sentences. Handles emoji and surrogate pairs correctly. Runs entirely in your browser.
- Text to SpeechPaste any text and hear it read aloud in your choice of voice. Adjust rate and pitch. Uses your device's built-in voices — nothing is uploaded, no account needed.
- Unicode Text StylerTurn plain text into Unicode variants: bold, italic, script, monospace, small caps, upside-down, wide, and more. Copy-paste ready for Twitter, Instagram, LinkedIn.
- Whitespace CleanerTrim lines, collapse extra spaces, remove blank lines, normalize line endings (LF/CRLF), and convert tabs to spaces. All in your browser.
- Word CounterInstantly count words, characters, sentences, paragraphs, lines, and reading time. Everything happens in your browser — nothing is uploaded.
- Word Frequency CounterCount and rank every word in a document. Options for case-insensitivity, minimum word length, and excluding common English stopwords. Great for content analysis and SEO.
Frequently asked
camelCase starts lowercase (myVariableName) and is the JavaScript/TypeScript convention for variables and functions. PascalCase starts uppercase (MyVariableName) and is used for classes and React components in JS, and for types in most languages.
snake_case (all lowercase, words separated by underscores) is the convention in Python, Ruby, and SQL. SCREAMING_SNAKE_CASE (all uppercase) is used for constants in most languages.
kebab-case (all lowercase, words separated by hyphens) is used for HTML attributes, CSS class names, URL slugs, and file names. It is not valid in most programming languages because "-" is the minus operator.
Paste both into our Text Diff tool. It shows a line-by-line comparison with additions in green and removals in red — the same format as a git diff. Useful for config files, JSON responses, contract revisions, and any two blobs of text.
Twitter/X: 280 characters per post. Meta description: under 155 characters for full display in Google results. SMS: 160 characters per segment (160 plain, 153 with emojis due to encoding). LinkedIn posts: 3,000 characters. Our Character Counter shows all of these as live reference lines.