UTF-8 Encoder and Decoder

Convert text to UTF-8 bytes and back in one place. Pick a direction and a format, type or paste your text, and click Encode or Decode to see the result. It handles emoji and accented characters, and everything runs in your browser so your text stays on your device.

Plain text
UTF-8 bytes
UTF-8 bytes

What is UTF-8 encoding?

UTF-8 is the standard way to store text as bytes. Each character maps to one or more bytes, from a single byte for plain English letters to four bytes for an emoji. It is used almost everywhere text is stored or sent: web pages, files, databases, and APIs. This tool shows you the exact bytes behind your text, or turns a list of bytes back into readable text with one click.

Why use our UTF-8 converter

  • ·Free. No signup, no paywall, no limits.
  • ·Runs in your browser. Nothing gets uploaded, your text stays with you.
  • ·Both directions. Encode and decode in the same place, and swap with one click.
  • ·Three views. See the output as hex bytes, decimal bytes, or U+ code points.
  • ·Handles any characters. Emoji and accented text survive a full round trip.

Options explained

Encode

Turns plain text into its UTF-8 bytes. Works with any characters, including emoji and accented letters, because the text is read as UTF-8.

BeforeHiAfter48 69

Decode

Turns a list of bytes or code points back into text. Spaces, commas, and line breaks between values are all accepted.

Before48 69AfterHi

Hex or decimal bytes

Show the UTF-8 bytes as hex (00 to FF) or as decimal (0 to 255). Decoding reads either style, and an optional 0x prefix on each value is fine.

BeforeéAfterC3 A9

Code points

Show the Unicode code point of each character in U+ form instead of raw bytes. This is the value you look up in a Unicode chart.

BeforeA€AfterU+0041 U+20AC

How UTF-8 works

UTF-8 stores each character as one to four bytes. The number of bytes depends on the character. Common ones stay small, and rarer ones use more space. This design keeps English text compact while still covering every character in Unicode.

  • ·One byte covers the first 128 characters (U+0000 to U+007F). These are the basic English letters, digits, and punctuation. The byte value matches the old ASCII value, so plain English text looks the same in ASCII and UTF-8.
  • ·Two bytes cover most accented Latin letters and scripts like Greek, Cyrillic, Hebrew, and Arabic (U+0080 to U+07FF).
  • ·Three bytes cover most of the rest of the common characters, including Chinese, Japanese, Korean, and many symbols (U+0800 to U+FFFF).
  • ·Four bytes cover emoji and other characters above U+FFFF.

This is why a code point and its UTF-8 bytes can look different. The code point is the character's number in Unicode. The bytes are how that number is packed for storage. A few examples:

CharacterCode pointUTF-8 bytes (hex)Byte count
AU+0041411
éU+00E9C3 A92
U+20ACE2 82 AC3
U+65E5E6 97 A53
😀U+1F600F0 9F 98 804

You can check any of these yourself. Type the character into the tool above, pick a format, and click Encode to see its bytes or code point.

These three terms come up together a lot, and it helps to keep them apart. Unicode is the master list of characters. It gives every letter, digit, symbol, and emoji a unique number called a code point, written like U+0041. Unicode does not say how those numbers are stored, only what they are.

UTF-8 is one way to store those code points as bytes. It is the most common encoding on the web, used by the large majority of pages. When you save a file or send a request as UTF-8, each character is written out as the one to four bytes shown above.

ASCII is the older, smaller standard that covers only the first 128 characters. UTF-8 was built to match ASCII for those characters, so any plain ASCII text is already valid UTF-8. This backward compatibility is a big reason UTF-8 became the default almost everywhere.

When to use UTF-8 encoding

Looking at the raw bytes behind text is useful whenever characters do not show up the way you expect. Here are the most common reasons people encode and decode UTF-8:

  • ·Debugging garbled text. Check the bytes when accented letters or emoji show up as strange symbols.
  • ·Looking up a character. Find the U+ code point of a symbol to search for it in a Unicode chart.
  • ·Reading a byte dump. Turn a list of hex or decimal bytes from a log or hex editor back into text.
  • ·Checking byte length. See how many bytes a string takes before it goes into a fixed-size field.
  • ·Learning how encoding works. See exactly how one character maps to one or more bytes.

Frequently asked questions

What is UTF-8?
UTF-8 is the standard way to store text as bytes. Every character, from plain English letters to emoji, maps to one or more bytes. It is used almost everywhere: web pages, files, databases, and network requests. This tool shows you those bytes and can turn them back into text.
How do I encode text to UTF-8?
Make sure Encode is selected, pick a format (hex bytes, decimal bytes, or code points), then type or paste your text into the input box and click Encode. The result appears below. Click the copy button to copy it, or download it as a .txt file.
How do I decode UTF-8 bytes back to text?
Click Decode, paste your bytes or U+ code points into the input box, then click the Decode button. Values can be separated by spaces, commas, or line breaks. The original text appears below.
What is the difference between bytes and code points?
A code point is the number Unicode gives a single character, written like U+0041 for A. UTF-8 bytes are how that code point is stored on disk or sent over a network. A character above U+007F takes more than one byte, so the two views can look different for the same text.
Does it handle emoji and accented characters?
Yes. The text is read as UTF-8, so emoji, accents, and other non-English characters encode and decode correctly. An emoji shows as one code point in the U+ view and as its full set of bytes in the hex or decimal view.
Can I mix hex and decimal when decoding?
Pick one style per input. The tool reads the whole list as hex if any value uses an A to F letter or a 0x prefix, and as decimal otherwise. If a value is out of range, it shows an error so you can fix the input.
Is my text safe and private?
Your text never leaves your browser. All encoding and decoding runs locally on your device, so nothing is uploaded to a server. Once the page has loaded you can even use it offline.