Skip to main content

🔐 URL Encoder/Decoder

Encode special characters for safe use in URLs or decode encoded URLs back to original text.

📝 Input Text

✨ Result

💡 Examples

Original:
https://example.com/search?query=헬로 월드&lang=ko
Encoded:
https%3A%2F%2Fexample.com%2Fsearch%3Fquery%3D%ED%97%AC%EB%A1%9C%20%EC%9B%94%EB%93%9C%26lang%3Dko

URL encoding converts special characters into percent-encoded format for safe transmission in URLs. Use Encode to convert special characters, and Decode to restore the original text.

Key Features​

1. URL Encoding (Encode)​

Convert special characters, Korean, spaces, etc. to percent encoding format (%XX).

Example:

Original: https://example.com/search?query=hello world&lang=en
Encoded: https%3A%2F%2Fexample.com%2Fsearch%3Fquery%3Dhello%20world%26lang%3Den

2. URL Decoding (Decode)​

Convert percent-encoded URL back to readable original text.

Example:

Encoded: %68%65%6C%6C%6F%20%77%6F%72%6C%64
Decoded: hello world

3. Convenient Features​

  • Text Swap: Quickly exchange input and result
  • Copy: Copy result to clipboard
  • Clear: Clear all input at once

Why URL Encoding is Needed​

Safe URL Transmission​

URLs have characters with special meanings:

  • / : Path separator
  • ? : Query start
  • & : Parameter separator
  • = : Key-value separator
  • # : Fragment

To transmit these characters as data, encoding is necessary.

Korean and Multi-language​

Original: https://example.com/search?keyword=hello
Encoded: https://example.com/search?keyword=hello

Korean or special characters cannot be used directly in URLs, encoding is essential.

Characters That Get Encoded​

Always Encoded Characters​

  • Space: → %20
  • Korean/Chinese: Each character encoded to multiple bytes
  • Special Characters: !, @, #, $, %, ^, &, *, (, ), =, +, [, ], {, }, etc.

Examples​

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

Programming Language Usage​

JavaScript​

// Encoding
const encoded = encodeURIComponent("hello world");
// Decoding
const decoded = decodeURIComponent(encoded);

Python​

from urllib.parse import quote, unquote

# Encoding
encoded = quote("hello world")
# Decoding
decoded = unquote(encoded)

Java​

import java.net.URLEncoder;
import java.net.URLDecoder;

// Encoding
String encoded = URLEncoder.encode("hello world", "UTF-8");
// Decoding
String decoded = URLDecoder.decode(encoded, "UTF-8");

PHP​

// Encoding
$encoded = urlencode("hello world");
// Decoding
$decoded = urldecode($encoded);

Frequently Asked Questions​

Q: Which part of URL should I encode? A: Encode only the value part of query parameters. Don't encode protocol (https://), domain, path separators (/).

Q: What's the difference between %20 and + for space? A: %20 can be used throughout URLs, + represents space only in query parameters. Generally safer to use %20.

Q: I'm getting decoding errors. A: The input text may not be proper URL encoding format, or it may already be decoded. Check the original encoded URL again.

Q: What happens if I encode an already encoded URL? A: Double encoding occurs with unwanted results. For example, %20 becomes %2520. Encode only once.

🔗 Try These Next​

💬 Was this tool helpful?​

Feel free to send us your feedback or suggestions anytime!

Privacy​

This tool operates entirely on the client side. Your URLs are never sent to a server and are processed only in your browser.