Home › Developer Tools › URL Encoder/Decoder

Encode and Decode URLs Instantly

Encode or decode URLs, query strings, and special characters instantly.

Encode mode

Input: 0 charsOutput: 0 chars
ParameterValue
🔒
100% local. Encoding and decoding happen entirely in your browser. Nothing you paste is sent anywhere.

Handles UTF-8, emoji, and malformed percent sequences gracefully.

100% private

Everything runs locally in your browser. Pasted URLs are never sent to any server.

No signup

Use it instantly. No accounts, no email, no waiting.

Free forever

No limits on length or usage, no locked features.

How to use the URL Encoder/Decoder

  1. 1
    Paste your text

    Drop in a full URL, a query string, or any text with special characters, spaces, or emoji.

  2. 2
    Pick Encode or Decode

    Switch modes with the toggle. For encoding, choose Full URL to keep the link structure intact, or Component to encode a single parameter value.

  3. 3
    Read the query table

    In Decode mode, the query string is split into a readable key/value table so you can inspect every parameter at a glance.

  4. 4
    Copy the result

    Hit Copy output, or use the output as new input to chain another conversion.

Features

Full URL vs component encoding

Full URL mode preserves : / ? # and other structural characters, while Component mode encodes a single value aggressively — the two jobs developers actually need.

Query string inspector

Decoding a link with ?key=value pairs? The parameter table breaks it into readable rows, including repeated keys.

Plus-as-space handling

Form-encoded URLs use + for spaces. Toggle it on or off depending on whether your data came from an HTML form.

Graceful with broken input

A stray % or truncated sequence will not blow up the tool — malformed parts are left as-is and flagged with a note.

UTF-8 and emoji safe

Encodes non-ASCII text as proper UTF-8 percent sequences, so café becomes caf%C3%A9 and emoji survive the round trip.

Live character counters

See input and output lengths update as you type — handy when APIs or databases cap field sizes.

Frequently asked questions

What is the difference between Full URL and Component encoding?
Full URL mode (encodeURI) keeps structural characters like : / ? # and & untouched so the link still works. Component mode (encodeURIComponent) encodes those too, which is what you want when a whole URL or a value is being embedded inside another URL parameter.
Which characters get percent-encoded?
Spaces become %20, and reserved or non-ASCII characters become %XX sequences — for example, é becomes %C3%A9. Unreserved characters A–Z, a–z, 0–9, hyphen, underscore, period, and tilde are never encoded.
Why does decoding sometimes fail on my string?
A lone % not followed by two hex digits is invalid percent-encoding. This tool decodes every valid sequence and leaves the broken parts untouched, with a warning note instead of an error.
Should + be treated as a space?
Only for form-encoded data (application/x-www-form-urlencoded), where + means space. In a URL path, + is a literal plus. The toggle is on by default because most pasted query strings come from forms.
Is my pasted data sent anywhere?
No. Encoding and decoding run 100% in your browser with built-in JavaScript functions. Nothing leaves your device.
Can it handle very long URLs?
Yes. There is no practical length limit — the conversion is instant even for thousands of characters.
Why do I see %25 in my output?
%25 is the encoding of the % character itself. It usually means the text was encoded twice — decode it once to get back to the single-encoded form.
Scroll to Top