WebToolsPlanet
Converter Tools

UTF-8 to ASCII Converter

Encode any text — including emoji and accented characters — as UTF-8 bytes and see the decimal, hex, or octal value of every byte.

Last updated: May 29, 2026

Client-Side Processing
Input Data Stays on Device
Instant Local Execution

Find this tool useful? Support the project to keep it free!

Buy me a coffee

What is UTF-8 to ASCII Converter?

UTF-8 is the dominant character encoding for text on the internet. It encodes every Unicode character as a sequence of 1 to 4 bytes. ASCII characters (code points 0–127) are encoded as a single byte, which is identical to their ASCII code. Characters above code point 127 — accented letters, CJK characters, emoji — are encoded as 2, 3, or 4 bytes.

This tool takes any text input, encodes it as UTF-8, and outputs the numeric value of each resulting byte. For example, the letter "A" (ASCII 65) becomes a single byte `65`. The euro sign "€" (U+20AC) becomes three bytes: `226 130 172` in decimal, or `E2 82 AC` in hex.

This is useful for understanding HTTP request encoding, binary file inspection, protocol specification work, and debugging multi-byte character handling in applications.

How to Use UTF-8 to ASCII Converter

1

Paste or type any text into the input field — plain ASCII, accented characters, or emoji

2

Choose the output format: Decimal, Hex, or Octal

3

Choose the separator: Space, Comma, or Newline

4

The UTF-8 byte values appear instantly in the output panel

5

Click "Copy" or "Download" to save the result

Common Use Cases

  • Inspecting the exact UTF-8 byte sequence of a string for protocol implementation or debugging.
  • Generating hex byte sequences for embedding strings in binary file headers or network packets.
  • Verifying that emoji or accented characters are being correctly encoded as multi-byte UTF-8 sequences.
  • Building test vectors of known UTF-8 byte sequences for encoding/decoding unit tests.
  • Understanding why string length ≠ byte length for non-ASCII characters in Python, Go, or C.
  • Encoding strings for HTTP headers, URL paths, or JSON payloads that require explicit UTF-8 byte representation.

Example Input and Output

The string "Héllo" (with an é) is encoded as UTF-8. The "H", "l", "l", "o" are single bytes, but "é" (U+00E9) encodes as two bytes: 195 169.

Text input
Héllo
UTF-8 bytes (decimal)
72 195 169 108 108 111

Privacy

All UTF-8 encoding runs in your browser using the built-in TextEncoder API. No data is uploaded.

Character count vs byte count

For pure ASCII text, character count equals byte count. For text with accented letters, byte count is typically 1.5–2× the character count. For emoji-heavy text, each emoji adds 4 bytes, so byte count can be 4× the character count.

Frequently Asked Questions

Why does "é" produce two byte values?
The letter é has Unicode code point U+00E9 (233 in decimal). In UTF-8, code points above 127 are encoded as multi-byte sequences. U+00E9 encodes as two bytes: 0xC3 (195) followed by 0xA9 (169). This is why byte counts often exceed character counts for non-ASCII text.
How many bytes does an emoji take in UTF-8?
Most emoji have Unicode code points in the range U+1F000 to U+1FFFF, which require 4 bytes in UTF-8. For example, 😀 (U+1F600) encodes as 4 bytes: F0 9F 98 80 in hex (or 240 159 152 128 in decimal).
What is the difference between ASCII and UTF-8 for standard text?
For characters in the range 0–127 (standard ASCII), the UTF-8 encoding is identical — each character is a single byte with the same value. UTF-8 extends beyond ASCII by using 2–4 bytes for higher code points. This makes UTF-8 backward-compatible with ASCII.
How is this different from Char to ASCII or Text to ASCII?
"Char to ASCII" and "Text to ASCII" output the Unicode code point of each character (a single number per character). "UTF-8 to ASCII" outputs the raw UTF-8 byte sequence — potentially multiple bytes per character — which is what the text actually looks like in memory or on the wire.
Is my data kept private?
Yes. All encoding is done in your browser using the built-in TextEncoder API. No data is sent to any server.