Character Counter

Just paste your text. Character count, word count, and bytes — instantly, right in your browser.

Characters (with spaces)
0
chars
Characters (no spaces)
0
chars
Words
0
words
Manuscript pages
0
pages (200 chars)
Bytes (UTF-8)
0
bytes
Bytes (legacy 2-byte)
0
bytes

Why character limits catch people off guard

Almost every text box you fill in online has a hidden ceiling: a tweet, a job-application field, a meta description, an SMS. The number on the label rarely tells you the whole story — "500 characters" can mean 500 Unicode characters, 500 bytes, or 500 characters excluding spaces, depending on who built the form. This counter gives you all six numbers at once (with-space count, no-space count, words, manuscript pages, UTF-8 bytes, and legacy 2-byte encoding) so you can match whichever definition the destination actually uses instead of guessing and getting truncated mid-sentence.

How to read the six numbers

  1. Paste or type your text into the box. Every stat updates as you type — nothing is sent anywhere, the count runs in your browser.
  2. Characters (with spaces) is the default most platforms and forms mean when they say "character limit." Use this first unless a field explicitly says otherwise.
  3. Characters (no spaces) matters for word-processing style limits and for a handful of essay platforms that historically excluded whitespace from the count.
  4. Words splits on whitespace — useful for résumé summaries or cover letters that cap word count instead of character count.
  5. Manuscript pages divides the with-spaces count by 200 and rounds up, matching the traditional 20×10 Korean manuscript grid (원고지) used in writing assignments and publishing submissions.
  6. Bytes (UTF-8) and Bytes (legacy 2-byte) matter when a backend — not a person — enforces the limit. Set an optional goal in the field above the stats to see a live over/under banner against any of these.

The byte math behind the two encodings

A "character" and a "byte" are not the same unit, and the gap is where most truncation surprises happen. In UTF-8, the encoding almost every modern website and API uses, an ASCII character (English letters, digits, basic punctuation) costs 1 byte, while a Hangul, CJK, or most accented character costs 3 bytes. Older systems built around EUC-KR, Shift-JIS, or similar double-byte character sets instead spend a flat 2 bytes on any non-ASCII character. So the same sentence can be, say, 90 bytes on a modern API and 65 bytes on a legacy government or banking system — this tool reports both so you can check against whichever one applies.

Worked example 1 — Instagram bio (150-character limit)

Text: "Digital marketer turned indie hacker. Building tools that save you five minutes a day. Coffee-powered. Always shipping."

With spaces: 119 characters · No spaces: 103 · Words: 17 · UTF-8 bytes: 119.
119 is under Instagram's 150-character bio cap, so this fits with 31 characters to spare — set the goal field to 150 and the banner turns green once you paste it in.

Worked example 2 — Korean self-introduction field, byte-limited (1,000-byte cap)

Text: "저는 5년차 백엔드 개발자로, 대용량 트래픽 처리와 데이터베이스 최적화 경험이 풍부합니다."

With spaces: 50 characters · No spaces: 40 · UTF-8 bytes: 124 · Legacy 2-byte: 87.
Every Hangul syllable here costs 3 bytes in UTF-8 but only 2 in the legacy encoding — a 37-byte gap on just one sentence. Many older Korean corporate and government forms still document their limit in bytes under the legacy assumption; if you paste in a full self-introduction and the form silently cuts you off before you expected, check the legacy byte count, not the UTF-8 one.

Worked example 3 — Posting to X (280-character limit)

Text: "Just shipped a new feature! Check it out and let me know what you think. 🚀"

With spaces: 74 characters · UTF-8 bytes: 77.
The rocket emoji still counts as exactly one character in the with-spaces total — this tool counts by Unicode code point (via Array.from), matching how X and most platforms count, rather than by raw UTF-16 length, which would double-count it.

Common limits worth knowing

ContextTypical limitCounted as
X (Twitter) post280characters
Instagram bio150characters
Instagram caption2,200characters
YouTube video title100characters
SEO meta description~155–160characters (Google truncates by pixel width, so this is an approximation)
SEO title tag~50–60characters (same pixel-width caveat)
Single SMS segment160 (or 70 with any emoji/non-Latin script)characters
Korean manuscript page (원고지)200characters, spaces included

Mistakes that lead to truncated text

What this tool doesn't do

It measures raw counts, not visual width — Google's actual meta-description cutoff is based on rendered pixel width, so a title full of narrow letters ("iiiil") fits more characters on the results page than one full of wide letters ("WWWWW") at the same character count. Treat the SEO figures above as a safe planning target, not an exact pixel simulator. Nothing you type is uploaded: every count runs locally in your browser, and only your last draft is cached in this device's local storage so you can pick up where you left off.

Sources & further reading

Frequently asked questions

Should I count characters with or without spaces?

It depends on where you're submitting. Character count with spaces is the most common standard — when a form says "up to 500 characters" with no further note, it usually means spaces included. Some forms specify "without spaces." Check the requirement, then read both numbers this character counter shows. When in doubt, the stricter with-spaces count is the safe choice.

Why are there two byte counts?

One character takes a different number of bytes depending on the encoding. In UTF-8 — the modern web standard — a Latin letter is 1 byte while a CJK character is 3 bytes. Legacy systems (EUC-KR, Shift-JIS and similar) store each CJK character as 2 bytes. Because the same text can hit a different byte limit in different systems, this byte calculator shows both. If a system limits you by bytes, use the count that matches its encoding.

How is the manuscript page count calculated?

The page count is the with-spaces character count divided by 200, rounded up. A standard manuscript page holds 20 columns × 10 rows = 200 characters, punctuation and spaces included. So 201 characters becomes 2 pages. Use it when an assignment asks for "at least N pages."

How are emoji and special characters counted?

Emoji (for example 😀) count as one character by Unicode code point. This tool uses Array.from(text).length, so surrogate pairs are never split. Bytes, however, reflect real UTF-8 encoding, so a single emoji can take 4 bytes. Special characters range from 1 byte (ASCII) to 3 bytes (CJK and symbols). Most character limits count code points, so you can rely on the character number.

Is my text sent to a server?

No. Every calculation in this character counter happens inside your browser. Your text is never transmitted anywhere over the internet. Your last input is saved only in this device's localStorage so you can continue where you left off — and that never leaves your device either. Even sensitive drafts like a cover letter are safe to check here.