Cipher Decipher

Encoding & Decoding

UTF-8 / UTF-16 Inspector

Inspect the exact byte sequences and Unicode code points produced by UTF-8 and UTF-16 encoding.

Share this tool

Displays UTF-8 byte representation of text Enter your input below and the result updates instantly — all processing happens in your browser, so your data never leaves your device.

Cipher DecipherCipher Decipher
Text to inspect Tool

Introduction

The UTF-8/UTF-16 Inspector shows the exact byte sequence that any piece of text produces under UTF-8 or UTF-16 encoding, along with the Unicode code point for each character. Understanding these byte-level details matters when debugging character encoding errors, validating data pipelines that pass text between systems, or investigating why a string displays as garbled boxes or question marks. The tool accepts any text and displays each character's hex and decimal byte values side by side, making it straightforward to compare how the same character occupies one byte in ASCII-compatible UTF-8 but two bytes in UTF-16, or why an emoji requires four bytes in UTF-8 and a surrogate pair in UTF-16.

What this tool does

  • Displays UTF-8 byte representation of text
  • Shows UTF-16 byte representation of text
  • Reveals Unicode code points for each character
  • Provides hexadecimal and decimal byte values
  • Handles multi-byte characters correctly
  • Supports real-time analysis of any text input

How this tool works

This UTF inspector analyzes your text input and displays its byte-level representation in different encoding formats. Simply enter any text into the input field and select your preferred analysis format: UTF-8 bytes, UTF-16 bytes, or UTF-8 code points. The tool processes each character according to the selected encoding standard and displays the results in both hexadecimal (0x format) and decimal formats. For UTF-8 code points, it also shows the Unicode representation (U+ format) along with the actual character, making it easy to understand how complex characters are stored.

How UTF encoding inspection works

UTF-8 is a variable-length encoding that uses 1 to 4 bytes per character, optimized for backward compatibility with ASCII. ASCII characters use 1 byte, while other characters use 2, 3, or 4 bytes depending on their code point value. UTF-16 uses 2 bytes for most characters (the Basic Multilingual Plane) and 4 bytes for characters outside that range (surrogate pairs). The tool correctly identifies multi-byte sequences and displays each byte individually, helping you understand encoding efficiency and detect potential encoding issues. Code point analysis shows the actual Unicode value for each character, independent of encoding.

How to use this tool

  1. Enter your text into the input field above
  2. Select the analysis format from the dropdown menu
  3. Choose UTF-8 bytes for byte-level encoding analysis
  4. Choose UTF-16 bytes for 16-bit encoding representation
  5. Choose UTF-8 code points for Unicode character analysis

Real-world examples

ASCII Character Analysis

Input: 'Hello' UTF-8: 0x48 (072), 0x65 (101), 0x6C (108), 0x6C (108), 0x6F (111) UTF-16: 0x00 (000), 0x48 (072), 0x00 (000), 0x65 (101), 0x00 (000), 0x6C (108), 0x00 (000), 0x6C (108), 0x00 (000), 0x6F (111) Shows how ASCII uses 1 byte in UTF-8 but 2 bytes in UTF-16.

Unicode Character Analysis

Input: '€' UTF-8: 0xE2 (226), 0x82 (130), 0xAC (172) UTF-16: 0x20 (032), 0xAC (172) UTF-8 Code Points: U+20AC (€) Demonstrates multi-byte encoding for the Euro symbol in different formats.

Emoji Character Analysis

Input: '😊' UTF-8: 0xF0 (240), 0x9F (159), 0x98 (152), 0x8A (138) UTF-16: 0xD8 (216), 0x3D (061), 0xDE (222), 0x0A (010) UTF-8 Code Points: U+1F60A (😊) Shows how emojis use 4 bytes in UTF-8 and surrogate pairs in UTF-16.

Comparison with similar methods

MethodComplexityTypical use
UTF-8VariableWeb, file storage, ASCII compatibility
UTF-16VariableWindows APIs, Java, fixed-width processing
UTF-32FixedInternal processing, simplicity
ASCIIFixedLegacy systems, English text only

Limitations or considerations

This tool shows theoretical encoding representations and may not match exactly how specific systems store text due to Byte Order Mark (BOM) handling, endianness differences, or platform-specific implementations. Some systems may use different normalization forms for Unicode text, affecting byte representation. The tool assumes standard UTF-8 and UTF-16 BE (Big Endian) encoding for consistency. Actual file storage may include additional metadata or use different byte orders than shown.

Frequently asked questions

Why do some characters take more bytes in UTF-8 than UTF-16?

UTF-8 uses 1-4 bytes per character, optimizing for ASCII compatibility. Characters above U+007F require multiple bytes in UTF-8, while UTF-16 uses 2 bytes for most characters up to U+FFFF.

What's the difference between bytes and code points?

Bytes are the actual storage units in a specific encoding, while code points are the abstract Unicode values (U+ format) that represent characters independent of encoding.

Why does UTF-16 show 4 bytes for some characters?

Characters outside the Basic Multilingual Plane (above U+FFFF) use surrogate pairs in UTF-16, requiring 4 bytes total to represent a single character.

How can I detect encoding issues in my data?

Look for unexpected byte patterns, characters displaying as question marks or boxes, or mismatched byte counts. This tool helps identify the expected byte patterns for your text.

When should I use UTF-8 vs UTF-16?

UTF-8 is ideal for web content and storage with ASCII-heavy text. UTF-16 is better for applications with frequent random access to characters or heavy non-ASCII text content.

Conclusion

Encoding mismatches are one of the most common sources of corrupted text in software systems. A string written as UTF-8 but read as Latin-1, or a UTF-16 file missing its byte order mark, can produce a cascade of garbled output that is difficult to trace without knowing the expected byte pattern. The UTF-8/UTF-16 Inspector gives you the ground truth for any character or string: the specific byte values that the encoding standard requires. Compare the inspector output against what your system is actually producing to pinpoint where the mismatch occurs. For characters above U+007F, pay particular attention to byte count differences between UTF-8 and UTF-16, since these are the most common source of off-by-one errors and truncation bugs in text processing code.

Embed UTF-8 / UTF-16 Inspector
Customize and generate embed code for your website or application