URL Encoder & DecoderSpecialized Version
🔗

URL Encoder

Encode for URLs

Tip: Use encodeURIComponent for query parameter values. Use encodeURI only for full URLs where you want to preserve : / ? & characters.
Common URL Encodings Reference
%20
!%21
"%22
#%23
$%24
&%26
'%27
+%2B
,%2C
/%2F
:%3A
?%3F
@%40
=%3D

URL Encoder

Convert text with special characters into a URL-safe format. Percent-encoding replaces unsafe characters with %XX codes.

Why URL Encoding Is Necessary

CharacterIssueEncoded
(space)Terminates URLs%20 or +
&Separates parameters%26
=Separates key/value%3D
?Starts query string%3F
#Starts fragment%23

URL Encode Implementation

``javascript // Encode for query parameters (most common) function urlEncode(text) { return encodeURIComponent(text); }

// Encode full URL (preserves URL structure) function urlEncodeFull(url) { return encodeURI(url); }

// Encode with + for spaces (form encoding) function urlEncodeFormData(text) { return encodeURIComponent(text).replace(/%20/g, '+'); }

// Examples urlEncode('Hello World!'); // "Hello%20World%21" urlEncode('price=100&qty=2'); // "price%3D100%26qty%3D2" `

Building Encoded URLs

`javascript function buildUrl(base, params) { const searchParams = new URLSearchParams(); for (const [key, value] of Object.entries(params)) { searchParams.append(key, value); } return ${base}?${searchParams.toString()}; } ``

Use this encoder to safely include any text in URLs.

Frequently Asked Questions

Why encode URLs?

URL encoding ensures special characters don't break URL parsing. Without encoding, spaces terminate URLs, & starts new parameters, and = separates keys from values. Encoding also handles unicode characters.

Should I use encodeURI or encodeURIComponent?

Use encodeURIComponent for values (query parameters). It encodes all special characters. Use encodeURI only for complete URLs where you want to preserve structure. For most cases, encodeURIComponent is correct.

Why do spaces sometimes become + and sometimes %20?

Both are valid. %20 is standard percent-encoding. + is from HTML form encoding. Most servers accept both in query strings. encodeURIComponent produces %20; replace with + if needed.

Related Tools

Explore other tools you might find useful:

Related Calculators