URL Encoder & Decoder

Encode and decode URLs and query strings

How to use the URL Encoder & Decoder

Paste a URL or query string into a URL encoder to percent-encode special characters, or decode an encoded URL back to readable text. This keeps links and parameters safe to share and pass between systems. It runs free in your browser with no signup, and nothing is uploaded.

  1. Paste your URL or text Add the URL, query string, or parameter value you want to convert.
  2. Choose encode or decode Click encode to percent-encode special characters, or decode to make an encoded URL readable.
  3. Copy the result Copy the converted URL or parameter for use in links, requests, or code.

Common Character Encodings

Character Encoded Character Encoded
Space %20 ! %21
# %23 $ %24
% %25 & %26
= %3D ? %3F
@ %40 + %2B

Frequently Asked Questions

URL encoding (also called percent-encoding) converts special characters into a format that can be transmitted over the internet. Special characters are replaced with a % followed by two hexadecimal digits. For example, a space becomes %20.

URLs can only contain certain characters (letters, numbers, and some symbols). Special characters like spaces, ampersands, and question marks have special meanings in URLs, so they must be encoded to be used safely in query strings or path segments.

Encode URLs when adding user input to query parameters, passing URLs as parameters to other URLs, creating links with special characters, or building API requests. Always encode data before adding it to URLs to prevent errors and security issues.

Characters that need encoding include: spaces, &, =, ?, #, %, +, /, and most symbols. Non-ASCII characters (accents, emojis, etc.) also need encoding. Safe characters include A-Z, a-z, 0-9, hyphen, underscore, period, and tilde.

No! URL encoding uses percent notation (%20) while HTML encoding uses entity names (&) or numbers ( ). Use URL encoding for URLs and query strings, and HTML encoding for displaying text in HTML documents.

You should only encode specific parts of URLs (query parameters, path segments), not the entire URL. Encoding the whole URL would convert : and / characters, making the URL invalid. Only encode the data you're adding to URLs.

Use encodeURIComponent() for encoding parameters and path segments, or encodeURI() for encoding entire URLs while preserving URL structure. Example: encodeURIComponent('hello world') returns 'hello%20world'.

%20 is the hexadecimal representation of the space character's ASCII code (32 in decimal = 20 in hex). Sometimes spaces are encoded as + in query strings (application/x-www-form-urlencoded format), but %20 is more universal.

Related Tools