Text Tools

Text utilities, each on its own page, each running entirely in your browser.

Case Converter

Convert between UPPERCASE, lowercase, Title Case, camelCase, kebab-case, snake_case, and CONSTANT_CASE.

Open tool →

Word & Character Counter

Live counts for words, characters with and without spaces, lines, and estimated reading time.

Open tool →

Base64 Encoder & Decoder

Encode text to Base64 or decode it back, with full UTF-8 support for non-ASCII input.

Open tool →

URL Encoder & Decoder

Percent-encode text for safe use in query strings and paths, or decode an escaped URL back to plain text.

Open tool →

Text Cleaner

Trim whitespace, sort lines alphabetically, remove duplicate lines, strip HTML tags, or reverse the text.

Open tool →

URL Length Checker

Check URL length, character limits, query parameter breakdown, and browser/SEO compatibility status.

Open tool →

Text Diff Tool

Compare two texts side-by-side or inline to highlight additions, deletions, line changes, and similarity scores.

Open tool →

XML Sitemap Generator

Create standard sitemaps.org XML sitemaps and robots.txt files for any website domain.

Open tool →

AI Prompt Token Minimizer

Shrink AI prompts to use fewer tokens — remove filler, compress phrasing, and estimate cost savings across GPT-4, Claude, and Gemini.

Open tool →

LLM Token Counter & Cost Calculator

Count exact tokens for GPT-4o, Claude, and Gemini in real-time and predict API costs per call, per day, and per month.

Open tool →

System Prompt Builder

Craft structured system prompts with XML tags, persona settings, few-shot examples, and strict-mode toggles — optimized for ChatGPT, Claude, and Gemini.

Open tool →

RAG Chunk & Overlap Visualizer

Paste a document, adjust chunk size and overlap, and see exactly how your text will split for vector embeddings — color-coded in real-time.

Open tool →

Multi-LLM Prompt Converter

Convert prompts between OpenAI, Anthropic, Google, and Llama formats — rewrite function calls, system tags, and role markers automatically.

Open tool →

Transforms, encodings, and measurements

These tools do genuinely different kinds of work, and the difference matters when you are choosing one. The case converter and the cleaner rewrite text destructively — run them and the original casing or the duplicate lines are gone. The two encoders arereversible: encode then decode and you get back exactly what you started with. The counter changes nothing at all.

The reversibility column below is the one worth reading before you paste something you cannot regenerate. Keep the original if a transform is lossy.

ToolOperates onReversible?Typical use
Case ConverterWhole textNo — casing is lostRenaming variables, building URL slugs, reformatting headings
Word & Character CounterWhole textRead-onlyMeeting a word limit, estimating reading time
Base64 Encoder & DecoderWhole textYes — exact round tripData URIs, JSON payloads, config values
URL Encoder & DecoderWhole textYes — exact round tripQuery string values, path segments
Text CleanerLine by lineNo — lines are droppedTidying pasted lists, logs, and exported columns

Frequently asked questions

Is any of my text uploaded to a server?

No. Every transformation and count runs in your browser with JavaScript. Your text is never transmitted, logged, or stored, which makes these safe for confidential drafts, internal documents, and pasted production data.

What is the difference between Base64 and URL encoding?

They solve different problems. Base64 makes arbitrary binary data survive text-only channels, expanding it by about a third. URL encoding escapes only the characters that would otherwise break a URL’s grammar, leaving everything else readable. Neither is encryption.

Which case style should I use for a URL slug?

kebab-case. Search engines treat hyphens as word separators and underscores as joiners, so a hyphenated slug reads as distinct words. Use the case converter to produce one from a headline.

Do these tools work with emoji and non-English text?

Yes. The encoders convert through UTF-8, so emoji, accented characters, and CJK text round-trip correctly. The one caveat is case conversion, which treats accented letters as non-alphanumeric and strips them from programmer-case output.