URL Encoder & Decoder
Encode and decode URLs and query parameters using percent-encoding
What is URL Encoder & Decoder?
URLs can only contain a limited set of ASCII characters — letters, numbers, hyphens, underscores, tildes, and a few reserved delimiters. Any other character that appears in a URL — spaces, ampersands, equals signs, slashes in query values, non-Latin characters, and special symbols — must be percent-encoded before the URL is transmitted. Percent-encoding (also called URL encoding) replaces each unsafe character with a % followed by its two-digit hexadecimal ASCII code: a space becomes %20, a slash becomes %2F, and an at-sign becomes %40. Our free URL Encoder & Decoder handles both directions instantly. Use it to encode a string that will appear as a query parameter value — ensuring characters like & and = do not break the query string structure. Use the decoder to make sense of an encoded URL you received from a redirect, a form submission log, or a server access log. It supports both encodeURIComponent() behaviour (for encoding individual query values) and full URL encoding, making it the right tool for both backend developers building query strings programmatically and anyone debugging URL-related issues.
How to Use URL Encoder & Decoder
- 1
Paste Your Input
Enter the raw text you want to URL-encode — such as a search query, a URL parameter value, or a full URL path — or paste an already-encoded percent-encoded string you want to decode.
- 2
Encode or Decode
Click "Encode URL" to replace special characters with their percent-encoded equivalents. Click "Decode URL" to convert percent-encoded sequences back to their readable characters.
- 3
Copy the Result
Copy the encoded or decoded output to your clipboard for use in your API call, redirect rule, configuration file, or browser address bar.
Use Cases
Building Query Strings for API Requests
When constructing API request URLs manually — in curl, Postman, or a server-side script — any parameter value that contains spaces, special characters, or non-ASCII text must be URL-encoded. Encode the value here, then paste it into your query string to ensure the & and = delimiters in the URL structure are not corrupted by the parameter value.
Debugging Redirect Loops and URL Handling
Server access logs, nginx redirect rules, and browser network panels often show percent-encoded URLs that are difficult to read. Paste the encoded URL here to decode it into its readable form — making it immediately clear what path, query parameters, and values the request actually contained before trying to diagnose the redirect logic.
Encoding Search Queries for Shareable Links
When generating shareable search links — for a filtered product page, a pre-filled search result, or a deep link into an application — the search query must be encoded so that characters like spaces, quotes, and plus signs do not break the URL. Encode the raw query here and embed the result in your link generation logic.
Features
Encode & Decode in One Tool
Both encoding (text → percent-encoded) and decoding (percent-encoded → text) are available in the same interface without switching tools.
Handles Full UTF-8 Including Non-Latin Characters
Correctly encodes non-ASCII characters — Arabic, Chinese, accented characters — to their multi-byte percent-encoded sequences per RFC 3986.
Component vs Full URL Mode
Choose between encoding a single query parameter value (where / and : should be encoded) or a full URL (where structural characters like :// should be preserved).
Instant Client-Side Processing
Encoding and decoding run in your browser using JavaScript's native encodeURIComponent and decodeURIComponent — fast, private, no server required.
Frequently Asked Questions
URLs are transmitted over the internet using ASCII characters only. Characters outside the safe ASCII subset — spaces, special symbols, non-Latin letters — must be encoded as a percent sign followed by two hexadecimal digits representing the character's byte value. For example, a space encodes to %20 and a forward slash to %2F. Without encoding, these characters would be misinterpreted as URL structural elements.
encodeURI() encodes a complete URL and preserves characters that have structural meaning in a URL: :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =. encodeURIComponent() encodes everything except letters, digits, and - _ . ~ — it is used for individual query parameter values where characters like & and = must be encoded to avoid being misread as URL delimiters. Use encodeURIComponent for parameter values, encodeURI for full URLs.
Both are used, depending on context. RFC 3986 specifies %20 for spaces in URLs. However, the application/x-www-form-urlencoded format (used by HTML form submissions) uses + to represent spaces. You may encounter + spaces in query strings from older web forms and %20 in modern REST API URLs. This tool uses the RFC 3986 %20 convention.
Unreserved characters that never need encoding: letters (A-Z, a-z), digits (0-9), hyphen (-), underscore (_), period (.), and tilde (~). Reserved characters (like /, ?, #, &, =) are safe in URLs but must be encoded when they appear inside a query parameter value where they would otherwise be misinterpreted as delimiters.
The + character is a reserved character that means "space" in form-encoded query strings but is a literal plus sign in RFC 3986 URL encoding. If you are decoding a form-submitted query string, + signs need to be replaced with spaces separately from percent-decoding. If you are decoding a REST API URL, %2B should decode to a literal plus sign, which is correct behaviour.
Need a Professional Website?
JAIDOO EMPIRE builds fast, SEO-optimised websites for businesses worldwide. All free tools are built and maintained by our team.
Start Your Project






