URL Encoder & Decoder

Encode or decode URLs, percent-encoded path segments, and query-string parameters instantly with sub-millisecond local execution.

Encoding Scope

Source Payload (Plain URL / Param)

UTF-8 · Standards-Based URI Encoding
152 chars·UTF-8

Transformed Result

206 chars·0.00ms·+35.5% length change
  • Zero Server Transmission
    Everything runs locally in your browser.
  • Browser-Native Encoding
    Uses standard browser URI encoding APIs.
  • Instant Encode & Decode
    Switch between encoding and decoding without network requests.

URI Standards Guide

Understanding URL Percent-Encoding

Percent-encoding represents arbitrary byte sequences in Uniform Resource Identifiers (URIs) using triplet format (%XX). Choosing the right escaping strategy ensures proper routing without broken delimiters or lost parameters.

URL Component

Uses encodeURIComponent()

Use for:

  • query values
  • parameters
  • IDs
  • individual pieces of a URL

Full URL

Uses encodeURI()

Use for:

  • complete URLs

Preserves important URL structure such as: : / ? # & =

Technical Details

Method / FunctionPrimary ObjectiveReserved Delimiters EscapedPreserved UnescapedRecommended Target
encodeURI()Encodes full address while keeping schema syntaxWhitespace, non-ASCII chars;/?:@&=$+,#-_.!~*'()Complete URI destinations
encodeURIComponent()Escapes all URI component delimiters;/?:@&=+$,# + whitespace-_.!~*'()Query strings, parameters, tokens
Space (RFC 3986)%20
Space (Form URL)+
Ampersand (&)%26
Slash (/)%2F
Question (?)%3F
Equals (=)%3D

Wondering when to use URL encoding vs Base64, or why standard Base64 breaks query parameters?

Read URL vs Base64 Guide
Developer Implementation Guides

Developer Implementation Guides

Compact reference for native and standard library URI percent-encoding.

// Modern Browser & Node.js
const encoded = encodeURIComponent("developer tools & utilities");
console.log(encoded); // "developer%20tools%20%26%20utilities"

const decoded = decodeURIComponent(encoded);
console.log(decoded); // "developer tools & utilities"

Knowledge Base

Frequently Asked Questions

encodeURI is meant for an entire complete URI address. It assumes characters like ://, ?, and & are structural routing components and deliberately leaves them intact. Conversely, encodeURIComponent escapes every reserved character, ensuring that single query parameters or callback redirect URLs do not break the outer URL structure.
Encoding spaces as + stems from the historical HTML standard for form submissions (application/x-www-form-urlencoded). Modern RFC 3986 specification mandates %20 for general URL query and path components. ToolPorta supports both modes through the Advanced Options panel.
No. The transformation pipeline relies exclusively on your device's native V8/SpiderMonkey JavaScript runtime. Zero payload data, API tokens, or session IDs are ever transmitted across a network socket. You can verify this by disabling network connectivity in Developer Tools.
All input strings are first encoded into UTF-8 octets. Each resulting octet byte is converted into its hexadecimal equivalent preceded by a percent symbol. For instance, the UTF-8 sequence for the emoji "⚡" converts cleanly to %E2%9A%A1.
View all tools (15)