Skip to main content

Free URL Encoder & Decoder

Encode and decode URLs and query strings. Supports encodeURIComponent, decodeURIComponent, and query string parsing.

Works offline once loaded
Encoding mode

Encodes every reserved character β€” best for query values and path segments.

Common uses

  • Encode URL Parameters for APIsSafely encode query string parameters before appending them to API request URLs.
  • Encode URLs for Email LinksCreate click-safe links for email campaigns β€” encode special characters so links survive every email client.
  • Encode URLs for Social SharingPrepare URLs with pre-filled text, hashtags, and links for Twitter, Facebook, and LinkedIn share buttons.
  • Encode Complex Query StringsBuild and encode query strings with multiple parameters β€” ready to append to any URL.
  • Encode URLs for Webhook CallbacksEncode callback URLs that are passed as parameters to third-party services and OAuth flows.

How It Works

URL encoding and decoding here runs entirely in your browser using JavaScript's built-in globals β€” encodeURIComponent, encodeURI, and decodeURIComponent β€” with no third-party library and no network request. The tool also exposes the browser's native URL API to parse and display query string parameters as a key-value table.

  1. 1
    Choose an encoding mode
    Three modes map to real-world use cases: "Component" calls encodeURIComponent and escapes everything except unreserved characters β€” the right choice for individual query values. "Full URL" calls encodeURI and leaves the scheme, slashes, and domain intact. "Form" uses encodeURIComponent then swaps %20 for + to match the application/x-www-form-urlencoded format sent by HTML forms.
  2. 2
    Encode or decode in one click
    Encoding passes your text through the selected function and displays the percent-encoded result. Decoding calls decodeURIComponent (with + converted to spaces in Form mode). Malformed percent-sequences β€” like a stray %E0 with no continuation byte β€” are caught and reported as an inline error rather than crashing.
  3. 3
    Parse query strings with the URL API
    The "Parse params" action wraps your input in the browser's native URL constructor and iterates url.searchParams to extract each key-value pair. If the URL constructor rejects the input, a hand-written fallback splits on & and = and runs each token through safeDecode, so partial or raw query strings still produce a readable table.
  4. 4
    Copy the result
    The encoded or decoded text appears in a monospace output block. A copy button writes it to the clipboard via the Clipboard API. Nothing leaves your device at any point.

Related Tools

Frequently Asked Questions