Skip to content

URL Encoder / Decoder

Encode or decode URLs and URL components using UTF-8 percent encoding. Choose URL component (encodeURIComponent / decodeURIComponent) to encode a single value such as a query-parameter value, or Full URL / URI (encodeURI / decodeURI) to keep structural delimiters like /, ?, &, =, and # usable. Everything runs locally in your browser. This is plain percent encoding — spaces become %20, not +, and it does not validate, normalize, or parse URLs.

URL component percent-encodes a single value (encodeURIComponent). Full URL / URI keeps structural delimiters like /, ?, &, =, and # usable (encodeURI). There is no auto-detect.
Processed locally in your browser. Whitespace is preserved (a single space encodes to %20) — it is not trimmed.

Encode text for URLs

URL component mode percent-encodes characters that are not safe as one URL component, using UTF-8. For example, a space becomes %20 and “你好” becomes %E4%BD%A0%E5%A5%BD. Use it for a query-parameter value or an individual path piece, where delimiters like / ? & = should be encoded rather than kept as structure.

Encode a full URL without escaping its structure

Full URL / URI mode preserves structural delimiters such as /, ?, &, =, and # according to standard URI encoding behavior (encodeURI), while still percent-encoding unsafe characters like spaces and non-ASCII text. It does not check whether the text is actually a valid URL.

URL component vs full URL

Choose component mode for values such as query-parameter values or individual path pieces. Choose Full URL / URI when the string already contains URI structure that should remain readable. The tool never guesses the scope for you — you pick it. Note that full-URL decoding intentionally leaves reserved escapes like %2F encoded, because decoding them could change the URL’s structure; use component mode if you want every valid escape decoded.

Percent encoding is not form encoding

Spaces become %20. The +-for-space behavior used by HTML forms (application/x-www-form-urlencoded) is a separate encoding convention and is not applied here, so a “+” is treated as a literal plus in both directions.

Does PocketSpry upload my URL?

No. URL encoding and decoding happens locally in your browser — nothing is sent to a server, and your text is not stored or logged.

Frequently asked questions

What does URL Encoder / Decoder do?
It percent-encodes text for use in URLs, or decodes percent-encoded text back to its original characters, using UTF-8.
What is percent encoding?
A way to represent characters that are unsafe or reserved in a URL as one or more %XX escapes, where XX is the hexadecimal value of each UTF-8 byte.
Should I choose URL component or Full URL?
Use URL component for a single value (like a query-parameter value). Use Full URL / URI when the string contains URI structure such as scheme, path, and query that should stay usable.
What does URL component mode use?
encodeURIComponent for Encode and decodeURIComponent for Decode.
What does Full URL mode use?
encodeURI for Encode and decodeURI for Decode.
Does it use UTF-8?
Yes. Non-ASCII characters are encoded as their UTF-8 bytes.
How are spaces encoded?
As %20.
Does it convert spaces to plus signs?
No. This is URI percent encoding, not HTML form encoding, so a space becomes %20, not +.
Does “+” decode to a space?
No. A “+” is treated as a literal plus character.
Why does %20 become %2520 when I encode it?
Because “%” is raw input and is encoded as %25; the tool does not guess that your source is already encoded and skip it.
Does Decode run more than once?
No. Decode runs exactly once, so %2520 decodes to %20, not to a space.
Why does Full URL Decode leave something like %2F encoded?
Because decoding reserved characters can change URI structure; standard decodeURI preserves those escapes. Choose URL component if you explicitly want component decoding.
Does it validate URLs?
No. It encodes or decodes the text you provide and does not check that it is a valid URL.
Can I encode a relative URL?
Yes. Full URL mode processes text and does not require an absolute URL.
What happens with malformed percent encoding?
The tool returns a clear error rather than guessing or repairing it.
Does it support form-urlencoded plus-for-space encoding?
No. It performs URI percent encoding only.
Does PocketSpry upload my URL?
No. Processing runs entirely in your browser.