Why URLs need encoding at all
A URL may only contain a limited set of ASCII characters. Everything else — spaces, accented letters, emoji, and the structural characters when they appear inside a value — has to be represented as a percent sign followed by the hex value of each UTF-8 byte. That is why a space becomes %20 and an em dash becomes %E2%80%94.
Getting this wrong is a common source of bugs: an unencoded ampersand inside a parameter value silently ends that parameter and starts a new one, so the server reads something you never sent.
Going the other way? Decode a URL — or switch direction with the tabs above without losing what you pasted.
More free text tools
- Word counterLive word count with reading time, sentences and paragraphs.
- Character counterCharacters with and without spaces, against X, SMS and SEO limits.
- Letter counterCount letters only, with a frequency breakdown for puzzles.
- Text cleanerStrip extra spaces, blank lines and invisible characters in one pass.
- Remove line breaksRejoin text that a PDF or email broke into short lines.
- Text compareDiff two versions and see what was added, removed and left alone.
Frequently asked questions
Is this URL encoder free?
Yes, with no account and no limit.
What is the difference between encoding a component and a full URL?
Encoding a component escapes everything that is not safe in a value, including : / ? # & = — which is what you want for a single query parameter. Encoding a full URL leaves those structural characters intact so the address still works. Pick the wrong one and you either break the URL or fail to escape the value inside it.
Why does %20 sometimes appear as a plus sign?
Both represent a space, but in different contexts: %20 is correct anywhere in a URL, while + means space only inside a query string submitted as a form. This decoder accepts either.
What does "URI malformed" mean?
The decoder found a % that is not followed by two valid hex digits — usually a literal percent sign that should itself have been encoded as %25, or a string that was cut short.
Is my URL sent to a server?
No. Encoding and decoding use your browser built-in functions, so nothing is transmitted. URLs often carry tokens and session identifiers, so this matters.