Encoding
URL Encode / Decode
URL Encode / Decode converts plain text into percent-encoded (URL-encoded) format and decodes it back to readable text. Results update as you type — no button press needed.
All processing happens entirely in your browser. Nothing is sent to a server.
Related Tools
Base64 Encode / Decode
Convert text to Base64 or decode Base64 back to text. Supports URL-safe Base64 and 76-char MIME line wrapping, and updates in real time. Runs entirely in your browser.
JWT Decoder
Paste a JWT (JSON Web Token) to split it into header, payload, and signature and view each as formatted JSON. Standard claims (iat / exp / nbf) are converted to human-readable times, with expiry warnings. Optional HS256 / HS384 / HS512 signature verification included. Runs entirely in your browser.
About URL Encode / Decode
URL Encode / Decode converts plain text into percent-encoded (URL-encoded) format and decodes it back to readable text. Results update as you type — no button press needed.
URL encoding replaces characters that are not safe in URLs — such as spaces, non-ASCII letters, and special symbols — with a % sign followed by two hex digits (e.g., a space becomes %20, and the Japanese character "あ" becomes %E3%81%82). Browsers and HTTP clients do this automatically, but knowing how to do it manually is essential for API development and debugging.
Two encoding scopes are available. Query parameter encodes nearly all special characters, including URL delimiters like :, /, ?, and #. Use this for values you embed in a query string or anywhere inside a URL. Full URL preserves URL structural delimiters and only encodes characters that are unsafe anywhere in a URI, such as non-ASCII characters. Use this when you want to encode an already-formed URL without breaking its structure.
The optional Encode spaces as "+" toggle replaces spaces with + instead of %20, matching the application/x-www-form-urlencoded format used by HTML form submissions.
All processing happens entirely in your browser. Nothing is sent to a server.
How to use
- Select "Text → URL" to encode or "URL → Text" to decode using the mode toggle at the top.
- Choose an encoding scope: "Query parameter" for individual values, or "Full URL" for a complete URL. When in doubt, use Query parameter.
- Type or paste your text (or URL-encoded string) into the input field. The result updates instantly.
- Enable "Encode spaces as +" if you need application/x-www-form-urlencoded format.
- Click the "Copy" button in the output area to copy the result to your clipboard.
Use cases
- Encoding Japanese or special characters in API query parameters to verify the correct percent-encoded output.
- Decoding URL-encoded strings from browser address bars, HTTP logs, or API responses to read the original content.
- Checking the encoding and decoding of HTML form POST data (application/x-www-form-urlencoded).
- Verifying that OAuth redirect_uri or signature base strings are encoded according to spec.
- Quickly decoding URL-encoded parameters from external services to inspect their contents.
Notes
- "Query parameter" mode is equivalent to encodeURIComponent. It encodes URL delimiters (: / ? # @) as well. Use it for individual parameter values or any string you embed inside a URL.
- "Full URL" mode is equivalent to encodeURI. It preserves URL structural characters and only encodes characters that are unsafe anywhere in a URI. Use it when you need to encode a complete URL without breaking its structure.
- When "Encode spaces as +" is enabled, spaces are encoded as + (encoding) or decoded as + → %20 → space (decoding), matching the application/x-www-form-urlencoded format.
- If the input contains a malformed %xx sequence — such as a lone % or a non-hex character after % — an error message is shown. Double-check the source string.
- Non-ASCII characters, including Japanese and emoji, are fully supported. They are encoded as their UTF-8 byte sequence in percent-encoded form.