Word and character counter, case converter, JSON formatter, and Base64 encoder/decoder — all free, private, and running entirely in your browser.
Text counting, case conversion, JSON formatting, and Base64 encoding are all simple operations your browser's own JavaScript engine can do instantly — there's no reason to send your text to a server to do this work, which is exactly what many "free" tools do while showing ads or gating features behind a subscription. Everything here processes locally and is never transmitted anywhere.
Is my text uploaded anywhere? No — every tool on this page runs entirely in your browser using JavaScript. Nothing you type is sent to any server.
How is word count calculated? Word count splits text on whitespace and counts the resulting chunks, which matches how most word processors count words.
What is Base64 encoding used for? Base64 converts binary or text data into plain ASCII characters, commonly used to embed data in JSON, URLs, or email attachments where raw binary isn't allowed.
Why would I need a JSON formatter? Minified or poorly formatted JSON (all on one line) is hard to read; a formatter adds consistent indentation and line breaks, and validates that the syntax is actually correct.
| Content | Typical target |
|---|---|
| Meta description | About 150–160 characters |
| Tweet or X post | 280 characters |
| Blog post | Often 800–2,000 words, depending on topic |
| College essay | Usually 250–650 words, set by the application |
| Speaking time | Roughly 130–160 spoken words per minute |
The tool also shows characters with and without spaces, sentences and an estimated reading time, which is handy for staying inside a limit.
| Style | Example | Often used for |
|---|---|---|
| Title Case | The Quick Brown Fox | Headlines and book titles |
| Sentence case | The quick brown fox | Normal paragraphs and UI text |
| camelCase | theQuickBrownFox | Variable names in JavaScript and Java |
| snake_case | the_quick_brown_fox | Python variables and database columns |
| kebab-case | the-quick-brown-fox | URLs and CSS class names |
JSON is the standard text format for exchanging data between apps and APIs. Formatting adds indentation so structure is easy to read, validating tells you whether the syntax is correct (a missing comma or quote is the usual culprit), and minifying removes whitespace to reduce size. Base64 turns bytes into plain letters, digits and a few symbols so data can travel through systems that expect text. It is an encoding, not encryption, so never treat Base64 as a way to hide secrets.
Does the counter treat hyphenated words as one word? Words are counted as groups of characters separated by spaces, so a hyphenated term such as well-known counts as one word. Different programs can vary slightly, so allow a small margin when a strict limit applies.
Why does my JSON fail validation? Common causes are a trailing comma, single quotes instead of double quotes, unquoted keys, or a missing bracket. The error message points to the area to check.
Can I decode Base64 that contains an image? The decoder converts Base64 back to text. Base64 that represents binary files such as images needs a tool that can display or save the file.