Text Tools

Count, clean, encode

Input

Characters
0
Without spaces
0
Words
0
Lines
0
Paragraphs
0
UTF-8 bytes
0

Words: each Han or kana character counts as one word; everything else is counted per whitespace-separated chunk. Chunks with no letters or digits (e.g. !!!, 😀) are not counted.

Settings

Characters without case (Hangul, Han, kana, symbols) are left untouched. Sentence case lowercases the rest.

Result

Everything runs in your browser. Your text is never sent to a server or stored.

How to use

Counting characters, changing case, tidying lines, comparing two texts, URL, Base64 and HTML encoding, JSON formatting — the everyday text jobs in one place, with character, word, line and UTF-8 byte counts always on screen. Your text stays in the browser and is never uploaded or stored.

When to use it

  • Checking a character limit on an application or assignment, with and without spaces.
  • Cleaning a pasted list by removing duplicate lines and sorting it.
  • URL-encoding text for a link, or decoding a Base64 string you were sent.

How to use it

  1. Paste your text into the input box. The statistics appear above it immediately.
  2. Choose a mode — transform, clean, compare, encode or JSON.
  3. Press the operation you want and the result appears below.
  4. Copy the result and use it.

Good to know

  • Characters without case are left alone. Korean, Chinese, Japanese kana and symbols are never altered.
  • Removing duplicate lines keeps the first occurrence in place, and sorting follows code point order.
  • URL encoding follows `encodeURIComponent`, and Base64 assumes UTF-8; values produced with other conventions may differ.
  • JSON formatting never changes what the data means. Invalid JSON is not silently repaired — you are told the line and column instead.
  • Comparison works line by line, and very large inputs report only whether they differ.

Frequently asked questions

My character count differs from another tool.

Counting conventions differ. This tool shows the count both with and without spaces, and counts an emoji as the single character a reader sees. Use the figure that matches what you were asked for.

Why show UTF-8 bytes?

Database columns and message limits are usually measured in bytes, not characters. Non-Latin text takes three bytes per character, so a count that looks safe can still overflow.

My decoded Base64 is garbled.

It was probably encoded with something other than UTF-8. This tool decodes as UTF-8 only and does not guess at repairs, because a plausible-looking fix is more dangerous than a visible error.

It says my JSON is invalid.

You get the line and column of the problem. The usual causes are a trailing comma, an unmatched quote, or single quotes — JSON does not allow single quotes.

Is my text stored?

No. Everything is processed on this device and nothing is sent to a server, so drafts and personal information are safe to work with here.