Input

Mode:

Output

Formatted result will be displayed here

What does a URI encoder do?

A URI encoder percent-encodes every character that is not safe inside a URI component, which is the subset of characters considered always legal in path segments, query values, or fragments. It behaves like JavaScript encodeURIComponent, so you can test in the browser exactly what your backend will receive. Input is interpreted as UTF-8 so non-ASCII text is encoded byte-by-byte into percent sequences.

Use Cases

Test backend URL parsing

Produce the exact encoded form a JavaScript client would send, then feed it into your server to see how it decodes things.

Generate deep links

Deep links often embed other URLs as parameters, which requires component-level encoding to survive the outer URL parser.

Prepare form field values

Content posted to an endpoint as application/x-www-form-urlencoded must be encoded per component to avoid ambiguity.

Build analytics tracking URLs

Campaign parameters full of ampersands and spaces stay intact when each value is encoded as a URI component first.

FAQ

Is this the same as URL encoding?

URI encoding follows RFC 3986 for URI components specifically. In practice, for most web use cases the output matches standard URL encoding.

Which characters are kept unchanged?

Letters, digits, and the set - _ . ~. Everything else including reserved delimiters becomes a percent sequence.

Does it handle full URLs?

This encodes each string as a component. To encode a whole URL while keeping slashes and colons intact, use the URL encoder instead.

Are emoji supported?

Yes. Emoji are encoded as their UTF-8 byte sequence, typically four bytes and therefore four percent escapes per emoji.