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.