URL Encoder/Decoder

Encode special characters for URLs or decode percent-encoded strings back to readable text.

100% client-side No signup Free forever
// reference

Common URL Encodings

CharacterEncodedCharacterEncoded
Space%20!%21
#%23$%24
&%26'%27
(%28)%29
+%2B=%3D
?%3F@%40
// how to use

How to Use URL Encoder/Decoder

How to Use the URL Encoder/Decoder

  1. Select mode: Choose Encode (text to URL-safe) or Decode (URL-encoded to text).
  2. Enter input: Paste or type your text or URL-encoded string.
  3. Optional settings: Choose encoding standard and space handling (+ or %20).
  4. View result: See the encoded/decoded output instantly.
  5. Copy output: Copy the result to use in your URLs or applications.

Encoding Example

Input: Hello World! How are you?
Output: Hello%20World%21%20How%20are%20you%3F

Decoding Example

Input: search%3Fq%3Dcoffee%20shops%26city%3DNew%20York
Output: search?q=coffee shops&city=New York

// features

Features

  • URL encode any text
  • URL decode encoded strings
  • Handle all special characters
  • UTF-8 and Unicode support
  • Choice of space encoding (+ or %20)
  • Encode full URLs or just values
  • Component-level encoding option
  • Real-time conversion
  • Bulk text processing
  • One-click copy
  • Mobile-friendly design
  • No registration required
// about

About URL Encoder/Decoder

URLs can only contain specific ASCII characters. Spaces, special characters, and international text must be encoded to transmit safely in web addresses. Our tool handles both encoding (preparing data for URLs) and decoding (extracting original content from encoded URLs).

Why URL Encoding Matters

Characters like spaces, &, =, and ? have special meanings in URLs. Without encoding, "coffee & tea" in a search query would break URL parsing. Encoded as "coffee%20%26%20tea", it transmits safely. International characters (日本語, Ελληνικά) require encoding to work in URLs at all.

Encoding Standards

  • Percent-Encoding: Characters become %XX where XX is the hex ASCII code
  • Space Handling: Becomes %20 in paths, + in query strings (by convention)
  • UTF-8: Non-ASCII characters encode as UTF-8 byte sequences
  • Reserved Characters: &, =, ?, / have special meanings and need encoding in data

Common Scenarios

Building API URLs with user input requires encoding parameters. Debugging why a URL doesn't work often reveals encoding issues. Extracting parameters from URLs requires decoding to see actual values. Our tool handles these tasks instantly.

// faq

Frequently Asked Questions

What is URL encoding and why is it needed?
URL encoding (percent-encoding) converts special characters to a format safe for URLs. Characters like spaces, &, =, and non-ASCII letters have special meaning in URLs or aren't allowed. Encoding replaces them with % followed by hex values (space = %20). This ensures URLs work correctly across all systems.
Which characters need to be URL encoded?
Reserved characters with special URL meaning (&, =, ?, /, #, etc.) must be encoded when used as data. Unsafe characters (spaces, quotes, <, >) must always be encoded. Non-ASCII characters (é, 中, emoji) must be encoded. Our tool handles all cases automatically.
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL but preserves reserved characters (://?#) needed for URL structure. encodeURIComponent encodes everything except alphanumerics and -_.~, used for encoding individual parameter values. Our "Encode Component" option uses the stricter encoding.
Why is %20 sometimes a + for spaces?
Both represent spaces but in different contexts. %20 is standard percent-encoding used in URLs. + is used in application/x-www-form-urlencoded format (HTML form submissions). Modern APIs typically use %20, while form data uses +. Our tool supports both conventions.
How do I decode a URL I received?
Paste the encoded URL or string into our decoder. It automatically converts percent-encoded characters back to their original form. This is useful for reading URLs from logs, understanding API parameters, or debugging web applications with encoded data.
Can I encode entire URLs or just parameters?
Typically, only encode the parameter values, not the entire URL. Encoding the whole URL would break it (https:// becomes https%3A%2F%2F). Use "Encode Component" for individual values, or use our full URL mode which intelligently encodes only the parts that need it.