Inspect a URL as percent-hex text

Paste one absolute HTTP(S) URL. Conversion runs in the browser without fetching or opening that address. There is no decoder, file input or batch mode.

  1. Enter the complete URL, including http:// or https://. Short URLs such as http://a/ are accepted.
  2. Choose Encode and inspect the resulting path, query and fragment.
  3. Copy the result as text, or use Clear to empty the input and output.

Expanded encoding and URL normalization

Letters become escapes while URL structure remains

The input https://example.com/a b?q=你好&x=1#top produces https://example.com/%61%20%62?%71=%E4%BD%A0%E5%A5%BD&%78=%31#%74%6F%70.

This also encodes otherwise safe letters, digits, hyphens, dots, underscores and tildes in those components. It is not ordinary encodeURI or a substitute for encodeURIComponent on a single parameter. After URL parsing, the reserved characters :/?#[]@!$&'()*+,;= are retained.

UTF-8 bytes without a second encoding pass

Non-ASCII text, including supplementary characters, uses UTF-8 escapes. New escapes use uppercase, two-digit %HH notation. Existing %HH sequences remaining after parsing are neither decoded nor double encoded; their hex case may remain unchanged, and their bytes are not checked as UTF-8. Literal + stays +; spaces are not converted to +.

Parsing can change the original spelling

The URL parser may lowercase the scheme and host, turn internationalized domains into ASCII/Punycode, remove default ports, supply / and resolve dot segments. Parsed host, port and user-info are retained, including IPv6 host syntax. This is not byte-for-byte preservation of the input.

Questions about URL hex encoding

Why is an input rejected?

Relative URLs, non-HTTP(S) schemes, malformed escapes, ASCII controls, unpaired UTF-16 surrogates and parser failures are rejected. Only surrounding ASCII spaces (U+0020) are trimmed; use %20 for a trailing space as data. Trailing NBSP, U+3000 and U+FEFF remain UTF-8 escapes. Errors clear the previous result and disable copying.

Can I replace a signed URL with the result?

Do not assume equivalence. A changed URL representation can affect signatures, cache keys or routing. Verify it in the target system; this tool does not perform that check.

Does this hide the host or encrypt the URL?

No. Encoding provides no encryption; the host and any user-info remain visible.

Recent tools: