Back to blog
Web Tools
March 21, 2026
5 min read

What is URL Encoding and Decoding? Complete Guide with Examples

L

LearnHubly Team

Technical Writer

URL Encoding (also known as percent-encoding) is a fundamental web mechanism that converts special, reserved, or unsafe characters into a safe format for use in URLs. It ensures that data passed through the browser's address bar, APIs, and web applications remains intact and secure.

If you've ever seen %20 instead of a space or %40 instead of @ in a URL, you've witnessed URL encoding in action.

Key Standard: Defined in RFC 3986 — the official specification for Uniform Resource Identifiers (URIs).

1. Why URL Encoding is Necessary

URLs can only safely use a limited set of US-ASCII characters. Special characters like spaces, question marks, ampersands, and non-English letters must be encoded to prevent breaking the URL structure or causing security issues.

Main Reasons for URL Encoding:

  • Prevent misinterpretation of structural characters (?, &, =, #, /)
  • Support international characters and emojis (UTF-8 handling)
  • Ensure safe data transfer in APIs and web forms
  • Avoid 404 errors and broken functionality

2. How URL Encoding Works

URL encoding replaces a character with a % followed by two hexadecimal digits representing its UTF-8 byte value.

Encoding Examples

Original TextEncoded URLExplanation
Hello World!Hello%20World%21Space → %20, ! → %21
user@example.comuser%40example.com@ → %40
price=100&tax=20price%3D100%26tax%3D20= and & encoded
café résumécaf%C3%A9%20r%C3%A9sum%C3%A9UTF-8 encoding for accented characters

3. Common URL Encoding Mistakes (and How to Avoid Them)

  • Double Encoding: Encoding an already encoded string (e.g., %20 becomes %2520). Always decode first if unsure.
  • Space Confusion: Using + vs %20. Prefer %20 for universal compatibility.
  • Forgetting Reserved Characters: Not encoding &, =, or ? inside parameter values.
  • UTF-8 Mishandling: Incorrect encoding of non-English characters.
  • Case Sensitivity: Mixing uppercase and lowercase hex digits.

4. URL Encoding in Code – Best Practices

JavaScript

// For query values and path segments

const encoded = encodeURIComponent("Hello World!"); // "Hello%20World%21" const decoded = decodeURIComponent("Hello%20World%21"); // "Hello World!"

Python

from urllib.parse import quote, unquote

print(quote("Hello World!")) # Hello%20World%21 print(unquote("Hello%20World%21")) # Hello World!

5. Free Online URL Encoder & Decoder Tool

Stop manually converting characters. Our fast, secure, and completely browser-based tool helps you encode and decode URLs instantly with support for UTF-8 and double-encoding detection.

Features:

  • One-click Encode / Decode
  • Detects common errors automatically
  • Works offline (privacy-friendly)
  • Supports large text inputs
🔥 Try URL Encoder & Decoder Tool Now

6. FAQ – URL Encoding & Decoding

1. What is URL encoding used for?

It converts unsafe or reserved characters into a safe format so they can be transmitted correctly within a URL.

2. What does %20 mean in a URL?

%20 is the encoded representation of a space character.

3. Should I use + or %20 for spaces?

Use %20 for maximum compatibility. + is only standard in query strings for form data.

4. What is double encoding?

When a string is encoded twice (e.g., %20 → %2520). It often causes broken links and 404 errors.

5. How do I handle non-English characters in URLs?

Convert text to UTF-8 first, then apply percent-encoding. Modern libraries handle this automatically.

Conclusion

Mastering URL encoding and decoding is essential for building robust, secure, and user-friendly web applications. Proper encoding prevents bugs, improves compatibility, and ensures your links work flawlessly across all browsers and systems.

Don’t waste time doing manual conversions. Let our free tool handle it accurately every time.

Use the Free URL Encoder/Decoder Tool →