Guide

How Many Bytes Is a Character?

In UTF-8, the encoding used by most of the web, an English letter takes one byte, an Urdu letter two, most Chinese, Japanese and Devanagari characters three, and emoji four. Characters and bytes are therefore not the same measure.

Updated

Short answer: In UTF-8: ASCII characters use 1 byte, Urdu and Arabic letters 2 bytes, most CJK and Indic characters 3 bytes, and emoji 4 bytes.

UTF-8 byte sizes

CharactersUnicode rangeUTF-8 bytesUTF-16 bytes
English letters, digits, basic punctuationU+0000–007F12
Accented Latin, Greek, Cyrillic, Hebrew, Arabic, Urdu, ThaanaU+0080–07FF22
Most CJK, Devanagari, Gurmukhi, Thai, many symbolsU+0800–FFFF32
Emoji and rare charactersU+10000 and above44

A message of 100 Urdu letters occupies about 200 bytes in UTF-8, while 100 English letters take 100 bytes. Spaces and Latin punctuation inside Urdu text take one byte each. Try it with the Byte Counter.

Why it matters

  • Databases and APIs with limits defined in bytes allow fewer Urdu characters than English ones.
  • SMS uses a different scheme: GSM-7 packs 160 characters into a message, but any non-GSM character switches the whole message to UCS-2 (two bytes per character), leaving 70; see the SMS Character Counter.
  • File names and URLs have byte limits that non-Latin text exhausts faster.
  • Cloud and storage costs for text-heavy apps in non-Latin scripts.

Emoji and combined characters

Many emoji are not a single character but a sequence: a base emoji plus a skin-tone modifier, or several emoji joined by a zero-width joiner to form a family. Those sequences can exceed ten bytes while appearing as one symbol. Different tools count them as one or as many; see the Emoji Counter. Platforms such as X assign emoji a weight of two characters; see the X (Twitter) Character Counter.

Characters, code points and graphemes

Three layers are easy to confuse. A code point is a numbered Unicode character. A byte is a unit of storage; one code point takes one to four bytes. A grapheme is what a reader perceives as one symbol, which may be several code points. This site counts code points as characters, which matches most editors; see Word Count vs Character Count.

Try it yourself

Put the numbers above to work with these free tools:

Frequently asked questions

How many bytes is an Urdu word?

Roughly twice its number of letters, plus one byte per space.

Is UTF-16 more efficient for Urdu?

Equal for letters (2 bytes), but UTF-8 is more compact for text mixed with ASCII.

Why do emoji use 4 bytes?

They sit above the Basic Multilingual Plane, which needs four bytes in UTF-8.