Free URL Encoder and Decoder
This free URL encoder and decoder converts between a readable address and its percent-encoded form. Encode a whole URL while keeping its structure, encode a single value for a query string or a form, or decode %20, %2F, %3F and + back to characters, including addresses that were encoded twice. It suits marketers building tracking links and developers debugging redirects and API calls.

URL Encoder and Decoder
Generators and Converters
About this tool
URLs may only contain a small set of ASCII characters. Spaces, non-English letters, ampersands inside a value and symbols such as # and ? have to be written as a percent sign followed by the byte in hexadecimal: a space becomes %20, an ampersand %26, and a letter such as é becomes %C3%A9 because it is two bytes in UTF-8. Browsers do this quietly when you type an address, which is why a copied link sometimes looks nothing like what you saw in the bar.
Which characters to encode depends on where the text goes. In a whole URL, the slashes, the question mark and the ampersands are structure and must stay; only the values between them are encoded, which is what the "whole URL" mode does, part by part. A value that goes into one query parameter must have its own ampersands, equals signs and slashes encoded, which the "value" mode does. HTML forms use the older convention of + for a space, which the "form" mode produces and the decoder understands.
Decoding reverses all of that and also handles addresses that were encoded more than once, a common fault in redirect chains and tracking links where %2520 appears instead of %20. The decoder stops when the text no longer changes and tells you how many rounds it took. Nothing you paste is stored, and the tool never fetches the address.
Frequently asked questions
What is the difference between %20 and + for a space?
Both mean a space, but in different places. %20 is the standard percent encoding and works anywhere in a URL. The plus sign only means a space inside a query string encoded the way HTML forms do it (application/x-www-form-urlencoded); in a path, a plus is a literal plus. When in doubt use %20, and when decoding a form URL treat + as a space.
Why does my URL contain %25 or %2520?
%25 is the encoded form of the percent sign itself, so %2520 means a %20 that was encoded a second time. It happens when one system encodes a URL and passes it to another that encodes it again, typically in redirect chains, affiliate links or tracking parameters. The decoder here keeps decoding until the text stops changing and reports how many rounds it needed. Fix the chain by encoding only once, at the last step.
Should I encode the whole URL or just the parameter values?
Just the values. The scheme, host, slashes, question mark, equals signs and ampersands are the structure of the URL and must stay as they are, or the address stops working. Encode each value on its own before you join it into the query string. The "whole URL" mode here does that for you by taking the address apart, encoding each part correctly and putting it back together.
Do encoded URLs affect SEO?
Search engines treat the encoded and decoded forms of the same URL as the same address, so encoding itself is not a problem. What hurts is inconsistency: linking to a page with a space in one place and %20 in another, or letting both the raw and the double-encoded version return 200, creates duplicate URLs. Pick one canonical form, redirect the others to it, and use that form in your sitemap.
