Raw Punycode Encode / Decode Utility documentation

Encode bare text as raw punycode or decode bare punycode lines back to Unicode without hostname parsing or xn-- prefixes.

Overview

Use it when the format needs to change, not the meaning

Use Raw Punycode Encode / Decode Utility when you need the bare RFC 3492 payload itself, not an IDN hostname label with the xn-- prefix.

Protocol or library debugging

Inspect the raw punycode payload a library or test fixture expects before hostname prefixes are applied.

Batch line conversions

Convert multiple bare text values or raw punycode strings in one request while preserving line order.

Prefix-free review

Separate raw punycode payload work from hostname-focused IDN work so you do not mix bare values and xn-- labels.

Supported inputs

Bring clean source text and keep the direction straight

  • Accepts raw text or raw punycode one line at a time, not full hostnames, URLs, or `xn--` labels.
  • Blank lines are preserved in the output and counted as skipped lines.
  • Decode mode rejects `xn--` prefixes on purpose. Use Punycode Toolkit for hostname and IDN conversions.

Walk through it

Follow the same sequence you see in the tool

Workflow

Encode raw text line by line

Use this flow when you need the bare punycode payload for one or more text values.

  1. Choose encode mode.
  2. Paste one raw text value per line.
  3. Run the conversion and copy the combined output or individual line results.

Workflow

Decode raw punycode in bulk

Use this flow when you already have bare punycode strings and want readable Unicode output without hostname prefixes.

  1. Choose decode mode.
  2. Paste one bare punycode value per line without `xn--`.
  3. Review the combined output and line-level errors before copying the final batch.

What you get

Check the result before you copy it into the next step

Combined output

A copy-ready multiline output preserves the original line order and keeps failed lines in place.

Batch summary

Counts show how many lines succeeded, failed, or were skipped because they were blank.

Per-line results

Each submitted line shows its converted output or a clear error message when decode input is invalid.

Avoid these mistakes

Small input problems create the biggest conversion errors

Including `xn--` prefixes

This tool works on raw punycode only. Use the hostname-focused Punycode Toolkit when you need `xn--` labels or domains.

Pasting full hostnames

A dotted hostname is not the same thing as a bare punycode payload. This tool treats every non-empty line as one exact raw value.

Expecting failed decode lines to disappear

Invalid lines stay in place in the combined output so batch order remains stable.

Glossary

Decode the terms before you act on them

This section translates the most technical labels on the page into plain language so you can interpret the output without opening another tab.

Raw punycode

Raw punycode is the RFC 3492 payload without the xn-- prefix that hostname labels use in IDN form.

IDN label

An IDN label is a hostname segment that usually adds the xn-- prefix in front of raw punycode for DNS-safe ASCII form.

Batch output

Batch output is the combined multiline result that keeps each input line in its original position.

Skipped line

A skipped line is a blank input line that is preserved but not converted.

Need a different utility? Browse the documentation hub for the rest of the published guides.
Last updated April 9, 2026