Encoding

Encode text to hex

Hex encoding writes each byte as two hexadecimal digits: hello becomes 68656c6c6f. Developers use it to read string contents in logs and to build byte layouts for embedded and wire formats. The text is converted to UTF-8 first, so é becomes c3a9, the same two bytes Python's 'é'.encode().hex() gives. Output is lowercase with no separators.

How to use Hex Encode

  1. Open Hex Encode in the Toolbox101 app.
  2. Paste the text you want converted into the Input box.
  3. Read the lowercase hex string in the Output box, two digits per byte.
  4. Click Copy to keep the hex for your logs, script or byte layout.

Worked example

Hex Encode returns the output below for this input.

Input

hello world

Output

68656c6c6f20776f726c64

Check it yourself: open Hex Encode and enter the same input.

Frequently asked questions

Why is the hex output in lowercase letters?

Lowercase a–f is the default in most tools and libraries: Node's Buffer.toString('hex'), xxd -p and Python's bytes.hex() all print it. Case carries no information in hex, and the Hex Decode tool here accepts either, so both styles round-trip.

How are accented and non-English characters encoded?

As UTF-8 bytes, so one character can take several bytes: é is c3a9, ₹ is e282b9 and an emoji takes four bytes. ASCII text is one byte per character. That is what xxd -p and most programming languages print, so the output lines up with other tools.

Is hex encoding the same as encryption?

No. Hex is a plain notation for bytes, with a public mapping and no key. Anyone who sees 68656c6c6f reads hello at once. It exists for readable display of binary data, like checksums and byte dumps. Content that must stay secret needs encryption first.

How do I convert hex back to text?

Paste it into the Hex Decode tool. It reads two digits per byte and copes with spaces, commas, 0x prefixes and colons, so hex from a debugger or a packet dump works without cleaning it up first.

Use Hex Encode now

Runs in your browser. Nothing you type is uploaded.