Skip to main content

URL Encoder & Decoder

Decode an encoded URL into readable text, or encode text so it is safe inside a link. Query parameters are listed for you.

Free, no sign-up. Everything runs in your browser.

Component converts everything unsafe, including : / ? & = and #. Use it for one value, such as a search word.

0 characters

Step by step

How to use URL Encoder & Decoder

  1. 1

    Paste your text or link

    Type or paste into the box. The result appears as you type, so there is no button to press.

  2. 2

    Choose Encode or Decode

    Decode turns codes like %20, %22 and %2B back into normal text, and lists the parameters of a link. Encode does the reverse.

  3. 3

    Copy the result

    Press Copy, or Swap to move the result into the input and convert it the other way.

Overview

About URL Encoder & Decoder

A web address can only contain a small set of characters. Spaces, accents, Hindi letters, emoji and symbols such as &, ? and # must be written as a percent sign followed by two hex digits, for example a space becomes %20. This is called URL encoding or percent-encoding.

This tool does that in your browser using the same functions websites use (encodeURIComponent and encodeURI). Choose Component to encode a single value, such as a search word or a query parameter. Choose Full URL to encode a whole address while keeping its : / ? & = # characters in place.

Decoding reverses the process. If the link has a query string (the part after the ?), a table lists every parameter with its decoded value, which is the quickest way to read long links from Facebook, YouTube or an API. If the result still has % codes in it, the text was encoded twice and Decode again removes the second layer. A broken % code is reported instead of showing garbage, and nothing you type is sent anywhere.

Looking for code instead of a web page? The guide on URL encoding in JavaScript, PHP, Java, Python and more shows the exact function for each language, and the list of URL encoded characters explains codes such as %22, %25, %2B and %40.

When it helps

  • Put a search phrase or name with spaces into a link or query string
  • Read a long link full of %20 and %2F codes
  • Check what a tracking or redirect link really contains
  • Prepare Hindi, Urdu or emoji text so it works in a URL
  • Read the real address inside a long Facebook or YouTube redirect link
  • Open up URL encoded JSON or a form body (name=value&name=value) to read it
  • Check what encodeURIComponent, urlencode or quote would give, without writing code

Specs

Supported files and limits

Works with
Any text, including Hindi and other languages, and emoji
Modes
Encode or decode; Component (single value) or Full URL
Spaces
%20 by default; optional + for form-style data
Parameters
A table of names and decoded values appears when the link has a query string
Size
Limited only by what your browser can handle
Where it runs
In your browser. Nothing is uploaded.

Common URL encoded characters

The codes people look up most. Paste any of them into the box above with Decode selected to check.

CodeCharacterNotes
%20spaceWritten + in form data
%22double quote "Seen in URL encoded JSON
%25percent sign %%2520 means encoded twice
%2Bplus sign +A bare + means a space in a query string
%40at sign @In email addresses inside links
%26ampersand &Separates parameters
%3Dequals sign =Separates a name from its value
%3Fquestion mark ?Starts the query string
%23hash #Starts the fragment
%2Fslash /Separates parts of a path
%3Acolon :As in https%3A%2F%2F
%0Anew line (LF)Windows text uses %0D%0A

Good to know

  • Encoding is not encryption. Anyone can decode a URL-encoded value, so do not use it to hide secrets.
  • Full URL mode keeps characters like ? & = # as they are, so it will not fix a value that itself contains them. Use Component for single values.
  • Text is converted as UTF-8, which is what modern websites expect. Old pages that use other encodings may decode differently.

Fix a problem

Troubleshooting

It says the text is not valid

A % must be followed by two hex digits (0 to 9, A to F). Look for a stray % in the text, or a link that was cut off in the middle of a code.

My link stopped working after encoding

You probably used Component on a whole URL, which also encodes the : and /. Use Full URL for a whole address.

I see + instead of spaces

Turn on the plus option when decoding form data, where + stands for a space.

Decoded text shows odd symbols

The original was probably not UTF-8. Try a different source, or decode part of it at a time.

The result still has %25 or %20 in it

The text was encoded twice. Press Decode again to remove the second layer.

A plus sign turned into a space

In a query string a bare + means a space. To keep a real plus it must be written %2B. Turn the plus option off when decoding something that is not form data.

FAQ

Frequently asked questions

How do I decode a URL?

Paste the link or text into the box, choose Decode, and read the result. If the link has a query string, each parameter is listed with its decoded value.

What is URL encoding?

It is a way to write special characters in a link as a % sign and two hex digits, so the link is understood everywhere. A space becomes %20.

What do %22, %25, %2B and %40 mean?

%22 is a double quote, %25 is a percent sign, %2B is a plus sign and %40 is an at sign (@). The table above lists the other common codes.

What is the difference between Component and Full URL?

Component encodes everything unsafe, including : / ? & = and #, so use it for one value. Full URL leaves those characters alone, so use it for a whole address. When decoding, Component decodes every code; Full URL leaves %2F, %3F, %26 and similar codes as they are.

Why do I see %2520 in my link?

The text was encoded twice: the % of %20 became %25. Decode once to get %20, then press Decode again for the space.

How do I decode a URL in JavaScript, PHP, Java or Python?

JavaScript uses decodeURIComponent, PHP uses rawurldecode or urldecode, Java uses URLDecoder.decode with UTF-8 and Python uses urllib.parse.unquote. Our guide has copy-ready code for these and for C#, Ruby, Rust and Dart.

What is a URL encoded body or query string?

It is data written as name=value pairs joined with &, with special characters encoded. In a link it comes after the ?, and in a form post it is the request body.

How is a newline or a double quote URL encoded?

A new line is %0A (Windows text uses %0D%0A) and a double quote is %22.

Is a dot URL encoded?

No, a dot is always safe and stays as it is. If you see %2E, it decodes to a dot.

Can I decode a Facebook or YouTube link?

Yes. Paste the whole link and choose Decode. The real address is inside a parameter, such as u on Facebook or q on YouTube redirect links. Decoding shows the address but does not tell you whether the site is safe.

How do I handle URL encoded JSON or Base64?

URL decode it here first. For JSON, paste the result into the JSON Formatter. For Base64, paste it into the Base64 Encoder & Decoder. A + inside Base64 may have turned into a space in the link and should be put back as +.

Is this URL decoder free, and is my text sent anywhere?

It is free with no sign-up. The conversion runs in your browser, so links and text with private information stay on your device.

Is URL encoding the same as encryption?

No. Anyone can decode it. It only makes text safe to put inside a link.