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.
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.