URL Encoder & Decoder: How URL Encoding Works (With Examples and a Character Table)

URL encoder at work — a developer's monitor showing an encoded web address with %20 and %26 in the browser bar and API code below

A URL encoder turns text that a web address cannot safely carry — spaces, ampersands, question marks, even whole Urdu words — into the percent codes you see in browser address bars, and a decoder turns those codes back into readable text. If you have ever copied a link and found it full of %20 and %26, you have met URL encoding. This guide explains exactly how it works, when you must encode (and when you must not), and gives you a free URL Encoder & Decoder for both directions.

Encode or Decode Any Text in Seconds

  1. Open the free URL Encoder & Decoder.
  2. Paste your text or your encoded URL.
  3. Choose Encode to make it URL-safe, or Decode to make an encoded string readable again.
  4. Copy the result. Everything runs in your browser with built-in JavaScript — nothing is uploaded to a server.

What Is URL Encoding (Percent-Encoding)?

URL encoding — formally percent-encoding — is the system defined by the URL standard (RFC 3986) for carrying characters that a URL cannot contain directly. Each unsafe character is replaced by a % sign followed by two hexadecimal digits that identify the character’s byte. A space, for example, is byte 32 in the character table — 20 in hexadecimal — so it becomes %20.

Two consequences follow from that simple rule. First, encoding is not encryption: anyone can decode a percent-encoded string instantly, which is why passwords must never travel in a URL. Second, characters outside the plain English set are first converted to their UTF-8 bytes and each byte is percent-encoded — which is why a single Urdu word becomes a long string of codes (shown below).

A browser address bar with an encoded URL — %20 for spaces and %26 for an ampersand — highlighted in the search query

Why URLs Need Encoding at All

Some characters already have jobs inside a URL’s structure. In example.com/search?q=tea&page=2, the ? starts the query string, each & separates one parameter from the next, and = ties a value to its name. Now imagine the search text itself is “fish & chips”: written raw, the browser would read it as a parameter called “fish ” and another called ” chips”. Encoding the value as fish%26chips keeps the ampersand as data instead of structure. The same logic applies to # (fragment), / (path separator) and spaces, which are simply not allowed raw in an address.

Reserved vs Unreserved Characters

The standard divides characters into two families:

  • Unreserved characters — letters A–Z a–z, digits 0–9, and - _ . ~. These are safe everywhere and are never encoded.
  • Reserved characters — : / ? # [ ] @ ! $ & ' ( ) * + , ; =. These have structural jobs, so inside a value they must be encoded to lose their special meaning.

That is why, after encoding, your text still looks mostly readable: the letters pass through untouched and only the troublemakers are converted.

The Character Table You Will Actually Use

CharacterEncodedCharacterEncoded
Space%20& (ampersand)%26
= (equals)%3D? (question mark)%3F
# (hash)%23/ (slash)%2F
: (colon)%3A+ (plus)%2B
% (percent)%25@ (at sign)%40
! (exclamation)%21‘ (apostrophe)%27

So my file name.pdf becomes my%20file%20name.pdf, and the search value urdu poetry&lang=ur becomes urdu%20poetry%26lang%3Dur. Paste either into the decoder and you get the original back, character for character.

Full URL vs Component Encoding — the Difference That Breaks Links

The most common encoding mistake is treating a whole URL and a single value the same way:

  • Component encoding (for one value inside a URL — a search term, a filename, a redirect target): encode everything unsafe, including / ? & =. This is what our tool does, and what JavaScript’s encodeURIComponent does.
  • Full-URL encoding (for an address you are assembling): the structural characters : / ? & = must stay as they are, or the address stops working — only the values inside it get component-encoded. JavaScript’s encodeURI follows this logic.

Get it wrong in one direction and parameters split in the wrong places; get it wrong in the other and you produce the classic bug visible in long links — %253D, which is a percent-encoded %3D: the string was encoded twice. If you see %25 at the start of codes in a URL, it has almost certainly been double-encoded.

Spaces: %20 or + ?

Both exist, in different places. In the path of a URL, a space is %20 — a + there literally means a plus sign. In a query string produced by an HTML form (the application/x-www-form-urlencoded format), a space may be written as + — which is why searches sometimes show urdu+poetry. Servers accept %20 in queries too, so when in doubt, %20 is the safe universal choice.

Urdu and Other Non-English Text in URLs

Because encoding works on UTF-8 bytes, non-English text expands dramatically. The word اردو (Urdu) is four characters but eight UTF-8 bytes, so it becomes %D8%A7%D8%B1%D8%AF%D9%88. This is why links to Urdu, Arabic, Chinese or emoji-containing pages look like walls of percent signs when copied — the link is fine; it is simply wearing its encoding on the outside. Decoding restores the original text exactly. (Prefer short, readable addresses for your own pages? Our Slug Generator builds clean URL slugs from titles.)

4 Encoding Mistakes That Break Links

  1. Double encoding — encoding an already-encoded string (%20 → %2520), usually when a framework and a developer both do the job.
  2. Encoding the structural characters — turning https:// into https%3A%2F%2F destroys the address.
  3. Leaving & or = raw inside a value — the server then reads extra, wrong parameters.
  4. Assuming encoding hides data — it does not. Never place passwords, tokens you care about, or personal data in a URL, encoded or not.

URL Encoding vs Base64 — Not the Same Tool

Percent-encoding only swaps the unsafe characters and leaves the rest readable. Base64 is a different system that re-writes all data — text, images, files — into a uniform A–Z, a–z, 0–9, +, / alphabet, mainly for carrying binary data inside text formats. They solve different problems and are not interchangeable; when you need the other one, use our Base64 Encoder & Decoder.

Frequently Asked Questions

What does an “encoded URL” mean? It means the address contains percent codes in place of characters a URL cannot carry directly — spaces, symbols, or non-English letters. Browsers and servers decode it automatically; you only notice it when copying links or debugging.

How do I decode a URL full of % signs? Paste it into the decoder and choose Decode. %20 becomes a space, %26 an ampersand, and UTF-8 sequences become their original characters, including Urdu text.

Why does my copied link look different from the one in the address bar? Browsers often display a friendly version (with real spaces or Urdu letters) but copy the encoded version, because the encoded form is the one that is guaranteed to work everywhere.

Is URL encoding a security feature? No. It is a transport format, reversible by anyone in one click. Treat everything in a URL as public.

Should I encode a URL I am sharing on social media? Platforms handle normal links automatically. Encode only when you are building a link with parameters by hand — a search link, a redirect, or a pre-filled message — where your values contain spaces or symbols.

Final Words

URL encoding is a small system with one job: let any text travel inside an address without breaking the address itself. Remember the pattern — percent sign, two hex digits, UTF-8 underneath — respect the difference between a whole URL and a single value, and the messiest link becomes readable again. Keep the free URL Encoder & Decoder bookmarked for both directions.

3 thoughts on “URL Encoder & Decoder: How URL Encoding Works (With Examples and a Character Table)”

  1. Pingback: CSS Minifier — Minify CSS Online Free (Shrink Your CSS Fast)

  2. Pingback: How to Generate a QR Code Online Free — WiFi, Links & Print Guide

  3. Pingback: Case Converter — Change Text Case Online Free (UPPER, lower, Title)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top