Processed locally · No upload · No signup · Encode · decode · parse query

URL Encode & Decode Online

Encode a URL or query string for safe links, or decode %20 and %40 text. Parse query params and rebuild the URL. Runs in your browser, no signup.

0 characters

Percent-encoding reference

Looking up one character? Here is the full table. Click any code to copy it.

CharacterNamePercent-encoded
(space)Space
@At sign
#Hash / pound
/Forward slash
?Question mark
&Ampersand
=Equals sign
+Plus sign
%Percent sign
:Colon
;Semicolon
,Comma
'Apostrophe(not encoded)
"Double quote
<Less than
>Greater than
[Left bracket
]Right bracket
{Left brace
}Right brace
|Pipe
\Backslash
^Caret
~Tilde(not encoded)
`Backtick

Letters, digits, and - _ . ! ~ * ' ( ) are never encoded by this tool's Encode button. Two of them (apostrophe and tilde) are marked "not encoded" above since people do look them up expecting a code.

Query-string parser

Paste a full URL to inspect protocol, host, path, and decoded query pairs. Edit pairs and rebuild the URL. Encode/decode above is for percent-encoding text; this panel is for structure.

Encode and decode vs full URL parse

Percent-encoding (encode/decode) turns unsafe characters into %XX sequences so values survive inside query strings, redirects, and API calls. Use it when you have a raw string like a search term or email and need a URL-safe form, or when you receive %20-style text and want the readable original. It does not explain the structure of a link.

The query-string parser takes a complete URL and shows protocol, host, path, and each decoded key/value pair in a table you can edit. Rebuild when you need a corrected link without hand-editing encoded ampersands. For binary or data-URI work, use Base64. To checksum a payload or file after transfer, use the Hash Generator.

How this compares to typing encodeURIComponent in DevTools

Browser consoles can encode one string at a time, but they do not show a decoded query table or let you rebuild a long tracking URL after editing UTM parameters. This page combines encode, decode, and full URL parse in one place, with copy buttons for each step. Nothing is sent to Instant Tools servers. For API payloads that need JSON validation before you embed them in a query string, use the JSON Formatter first, then encode the result here.

Common Use Cases

Query Parameters

Original:
name=John Doe&city=New York
Encoded:
name=John%20Doe&city=New%20York

Special Characters

Original:
hello@world.com?ref=top#section
Encoded:
hello%40world.com%3Fref%3Dtop%23section

About URL Encoding

  • • URL Encoding: Also known as percent-encoding, converts special characters to a format that can be transmitted over the Internet
  • • Why encode? URLs can only contain ASCII characters. Special characters need to be encoded
  • • Common encodings: Space → %20, @ → %40, # → %23, ? → %3F, & → %26
  • • Use cases: Query parameters, API requests, form data, email addresses in URLs
  • • Reserved characters: Characters like :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, = have special meaning in URLs

How to Use

  1. 1Choose between 'Encode' or 'Decode' mode using the toggle button
  2. 2Paste or type your URL or text in the input field
  3. 3Click 'Process' to encode or decode the text
  4. 4Review the output in the result area below
  5. 5Click 'Copy' to copy the result to your clipboard
  6. 6Use 'Swap' to reverse the operation quickly

URL Encoding Examples

Simple URL with Spaces

hello world → hello%20world

Spaces are encoded as %20

Email in URL

user@example.com → user%40example.com

The @ symbol is encoded as %40

Query Parameters

search?q=cats & dogs → search?q=cats%20%26%20dogs

Spaces and & symbols must be encoded in query strings

URL Encoding Tips

  • •Always encode URL parameters before sending API requests
  • •Use decoding to make URLs readable and understand query parameters
  • •Double-encoding can cause issues - avoid encoding already encoded URLs
  • •Some characters like '/', ':', '?' have special meanings in URLs
  • •Form data in POST requests should be URL-encoded
  • •Email addresses in mailto: links should be encoded
  • •Test your encoded URLs to ensure they work correctly

Frequently Asked Questions

What is URL encoding (percent encoding)?

URL encoding turns unsafe characters into %XX hex codes so links transmit correctly. Spaces become %20, @ becomes %40, and non-ASCII characters become UTF-8 percent sequences. Encode or decode in your browser.

When should I encode a URL or query string?

Encode user input in query parameters (?q=...), form GET requests, redirects, or API calls that include special characters. Encode the values, not the scheme, host, or ? and & separators.

What's the difference between URL encoding and Base64?

URL encoding makes text safe inside URLs and query strings. Base64 encodes binary data as ASCII for attachments or data URIs. Use this tool for percent-encoding; use Base64 for files or blobs.

Can I decode a double-encoded URL?

Yes. Check the Double encode/decode box above the input, then decode once. It runs the operation twice in one click. Watch for %2520 (a double-encoded space, %20 encoded again) as the sign a value went through two layers.

What does %40 mean, or %23, or %20?

%40 is @, %23 is #, and %20 is a space. The full percent-encoding reference table on this page covers every common character with its code, click any code to copy it.

How do I decode %20 or other percent codes in a URL?

Switch to Decode mode, paste the encoded string (for example hello%20world or a full query value), and click Decode. Each %XX sequence becomes the original character. Run decode again if the link was encoded twice.

Should I encode the whole URL or only the query value?

Encode only the value part of each query parameter, not the scheme, host, slashes, or ? and & separators. Use the query-string parser below when you need to inspect or rebuild a full link with many parameters.

Is my data private?

Yes. Encoding and decoding run 100% client-side. Nothing is sent to a server.

What does the query-string parser do?

Paste a full URL to see protocol, host, path, and a table of decoded query key/value pairs. Edit the pairs and rebuild the URL. That is separate from encode/decode, which percent-encodes text for safe use inside URLs.