UTF-8 byte counter

String β€˜length’ depends on what you count. UTF-8 bytes matter for storage, payloads and many API limits; UTF-16 units are what JavaScript .length and Java String.length() return; code points are what Python len() returns.

Your text never leaves your browser
This page counts
0
0Characters
0No spaces
0Words
0Lines
0Paragraphs
0UTF-8 bytes
Technical details β€” what was counted
Graphemes β€” visible characters0
Unicode code points β€” Python len()0
UTF-16 code units β€” JavaScript .length0
UTF-8 bytes β€” web, DB, payloads0
Korean SMS (EUC-KR-style) bytes, approx.0
Whitespace (spaces, line breaks, tabs)0
Hangul syllables0
Reading time (230 wpm)0
Reading time, Korean (500 syllables/min)0

Bytes per character

CharacterUTF-8UTF-16 unitsCode points
A111
Γ© (precomposed)211
ν•œ, ζΌ’, €311
πŸ‘421
πŸ‘¨β€πŸ‘©β€πŸ‘§1885

Language equivalents

CountCode
UTF-8 bytesnew TextEncoder().encode(s).length Β· Python len(s.encode())
UTF-16 unitsJS s.length
Code pointsJS [...s].length Β· Python len(s)
GraphemesJS Intl.Segmenter

MySQL VARCHAR(n) in utf8mb4 limits characters (code points), but index limits are in bytes; emoji need utf8mb4.

FAQ

How many bytes is an emoji?

Usually 4 in UTF-8; ZWJ sequences like πŸ‘¨β€πŸ‘©β€πŸ‘§ can be 18 or more.

Why does JavaScript say 'πŸ‘'.length is 2?

It counts UTF-16 code units; characters outside the BMP use a surrogate pair.

Are line breaks counted?

Yes: \n is 1 byte; \r\n is 2.

More counters

Character counterCharacter limits by platformTwitter (X) character counterInstagram caption character counterYouTube title character counterLinkedIn post character counterSMS character & segment counterMeta description length checkerTitle tag length checkerWord counterLine counterReading time calculatorHow many characters is an emoji?