How to use the URL Encoder & Decoder
Step 1: Choose Encode or Decode.
Step 2: Pick a method: Component for a single value, Full URL for a whole address, or Form for HTML form data where a space becomes +.
Step 3: Type or paste your text. The result updates as you type.
Step 4: If you pasted a complete address, read the Parts of this URL panel to see the protocol, host, path and each query parameter decoded.
Step 5: Press Copy result, or Use result as input to reverse the operation.
Features and benefits
Three encoding methods
Component, Full URL and Form match encodeURIComponent, encodeURI and HTML form encoding, so you can reproduce exactly what your code does.
Readable query parameters
A pasted URL is split into protocol, host, port, path, query and fragment, and every parameter is shown decoded.
Helpful decoding errors
A stray % that is not followed by two hex digits is pointed out with its position.
Full Unicode support
Accents, emoji and Indian-language text are converted as UTF-8, the way browsers do it.
Instant results
Nothing to submit. The output follows your typing.
Which method should you use?
Use Component when you are encoding one piece of a URL, such as the value of a query parameter or one path segment. It encodes everything except letters, digits and the characters - _ . ~, including the characters / ? & = that give a URL its structure, so a value cannot accidentally change the meaning of the address.
Use Full URL when you have a complete address that only contains a few unsafe characters, such as spaces or accents, and you want to keep its structure intact. Use Form for the format HTML forms send, which is like Component except that a space is written as +.
What percent-encoding is
Web addresses may only contain a limited set of characters. Anything else is written as a percent sign followed by two hexadecimal digits for each byte of its UTF-8 form, so a space becomes %20 and the letter é becomes %C3%A9. Decoding reverses the process. A percent sign that is not followed by two hex digits is invalid, and the tool shows where it is.
Common mistakes
Encoding a whole URL with the Component method also encodes its colons and slashes, which breaks it. Encoding the same text twice turns % into %25, which shows up as sequences like %2520. If a decoded result still contains percent signs, it was probably encoded twice, so press Use result as input and decode again.
Example use cases
Building links with search terms
Encode a query value so spaces, ampersands and accents do not break the link.
Reading tracking and redirect URLs
Decode a long encoded address to see where it really goes.
Debugging query strings
Paste a URL and check each parameter name and value without counting ampersands by eye.
Preparing form data
Produce application/x-www-form-urlencoded text for a request body.
Frequently asked questions
What is the difference between Component and Full URL?
Component encodes every reserved character, so it suits single values. Full URL keeps characters such as : / ? & = so a whole address stays usable.
Why does a space become + in one method and %20 in another?
The + form belongs to HTML form encoding. In a normal URL path or query, a space is written %20.
Why did decoding fail?
The text contains a % that is not followed by two hex digits, or the escape sequences do not form valid UTF-8. The error shows the position.
Is it safe to paste private links?
Yes. Everything happens in your browser and nothing is sent or stored.
Does it handle non-English characters?
Yes. Characters are converted to UTF-8 bytes first, exactly as browsers do.
Related tools
Base64 Encoder & Decoder
Encode text to Base64 or decode Base64 back to text, with URL-safe and Unicode support.
Developer Tools
JWT Parser & Decoder
Decode a JSON Web Token to read its header, payload, claims and expiry. Nothing is uploaded.
Developer Tools
JSON Formatter & Validator
Format, validate and minify JSON, with exact error locations. Runs in your browser.
Developer Tools
Last updated 11 November 2026.