Is my text uploaded to a server?
No. Byte counting uses the browser's built-in TextEncoder API — all calculations happen locally. Your text never leaves your device.
100% private • Runs in your browser • No server upload
Free online byte counter. Measure text size in UTF-8 bytes, KB, and MB. Check file sizes, API payload limits, and database field sizes. 100% private.
This free byte counter measures the exact UTF-8 byte size of your text — the same size it would occupy when saved as a file on disk. See the byte breakdown with automatic B/KB/MB formatting, alongside character count, word count, and reading time. Essential for developers checking API payload sizes, database field limits, and encoding behavior. Everything runs locally in your browser.
No. Byte counting uses the browser's built-in TextEncoder API — all calculations happen locally. Your text never leaves your device.
The tool uses TextEncoder.encode() to convert your text to a UTF-8 byte array, then measures its length. This is the same encoding used when saving text files on modern systems, so the count matches real file sizes.
UTF-8 is a variable-width encoding: ASCII characters (A-Z, 0-9) use 1 byte, Latin accented characters (é, ñ) use 2 bytes, CJK characters (中, 日, 한) and most emoji use 3 bytes, and some complex emoji use 4 bytes.
Character count treats every symbol as 1, regardless of encoding. Byte count reflects actual storage cost — a Chinese character is 1 character but 3 bytes. The difference shows the encoding overhead of non-ASCII text.
Almost exactly. The count reflects the UTF-8 encoded size. Actual file size may differ by a few bytes due to line ending characters (\r\n vs \n) or BOM markers, but for standard text the match is precise.
Many databases (MySQL, PostgreSQL) measure VARCHAR column limits in bytes, not characters. A VARCHAR(255) column holds 255 bytes, which is 255 ASCII characters but only ~85 Chinese characters. This tool shows you the real byte cost.
Yes. If you're building JSON payloads for REST APIs, paste the JSON text here to see its exact byte size. This helps you stay under request body limits (commonly 1MB for most APIs).