URL Decode and Encode
Decode percent-encoded URLs or encode text for query parameters, paths, redirects, and API calls.
Related
Guides for URL Decode
JSON Interop: YAML, CSV, XML, JWT, Schema
JSON rarely lives alone. Convert between JSON and YAML/CSV/XML, decode JWTs, generate types, and validate against JSON Schema — every step staying in the browser.
URL Encoding: Percent-Encode Query Parameters and Paths
Percent-encoding replaces unsafe characters with %XX so arbitrary text is safe in a URL. Know which characters to escape and how to decode them back.
Validate JSON Before API Requests
A quick validation pass before sending an API request can separate JSON syntax problems from authentication, schema, and backend errors.
URL Encode & Decode
Percent-encoding (also called URL encoding) replaces unsafe ASCII characters with a % followed by two hexadecimal digits. For example, a space becomes %20 and a forward slash becomes %2F. This is required when including arbitrary text in a URL query string or path segment.
Use this as a url decoder when inspecting query parameters, redirect URLs, OAuth callbacks, or any value that has been percent-encoded. Paste the encoded string and click Decode to get the original text. Searches like* decoding url online* and decode url online all describe the same workflow.
On the encoding side, this matches JavaScript's encodeURIComponent — the same operation searched as javascript url encode /** javascript urlencode**. Paste raw text, click Encode, and you get the percent-encoded form ready to drop into a query string.
Example
Plain text: hello world & more
URL encoded: hello%20world%20%26%20more
- Query parameters — values in
?key=valuemust be percent-encoded - API requests — search terms and filters passed in the URL need encoding
- OAuth & JWT — tokens embedded in redirect URIs must be encoded
This tool uses encodeURIComponent / decodeURIComponent, which correctly handles Unicode characters.
FAQ
Why doesn't my + decode to a space?
In query strings a space may appear as a + (form encoding) or as %20. decodeURIComponent does not turn + into a space, so replace + with a space (or with %20) before decoding form-encoded data.