Developer Tools

URL Encoder / Decoder

URL encode text or decode percent-encoded strings — instantly and privately.

Updated June 2026

0 characters · 0 lines

How to use the URL Encoder / Decoder

  1. 1

    Paste your text or URL

    Drop plain text into the box to encode it, or a percent-encoded string to decode it.

  2. 2

    Pick Encode or Decode

    Use the Encode tab to URL encode text, or the Decode tab to convert it back.

  3. 3

    Copy the result

    Your converted output appears instantly. Hit Copy result to grab it. Nothing is saved.

About this tool

URL encoding, also called percent-encoding, is how text is made safe to travel inside a URL. Characters that have a special meaning in a web address — spaces, slashes, question marks, ampersands, and equals signs — must be converted into a `%` followed by two hex digits so they are not misread as structure. Anything outside the limited set of allowed URL characters, including accented letters, emoji, and non-Latin scripts, gets the same treatment. This is what lets a query string carry arbitrary text without breaking the link.

This tool does both directions. Choose URL encode to turn any text into a percent-encoded string, or URL decode to turn a percent-encoded string back into the original text. It uses the browser's `encodeURIComponent` and `decodeURIComponent`, so the output matches exactly what your JavaScript, backend, and HTTP clients expect — including correct handling of multi-byte UTF-8 characters.

Developers, QA engineers, and anyone debugging APIs reach for a URL encoder constantly: building query parameters, decoding values pulled from logs, fixing double-encoded links, and inspecting redirect URLs. Because this one runs entirely client-side in your browser, your data is never sent to a server, logged, or stored — safe for tokens, signed URLs, and other sensitive strings.

Examples

Input

hello world & a/b

Output

hello%20world%20%26%20a%2Fb

Encode: spaces, &, and / become percent-encoded (encodeURIComponent).

Input

name%3DJohn%20Doe%26city%3DS%C3%A3o%20Paulo

Output

name=John Doe&city=São Paulo

Decode: percent-encoding back to text, including multi-byte UTF-8.

Input

a+b=c/d?e

Output

a%2Bb%3Dc%2Fd%3Fe

Encode: +, =, /, and ? are all escaped for use as a single query value.

Common uses

  • Building a query parameter value that contains spaces, ampersands, or slashes
  • Decoding a percent-encoded value copied from server logs or a browser address bar
  • Fixing a double-encoded link where %2520 should be a space
  • Inspecting a redirect or OAuth callback URL to read its encoded parameters
  • Encoding a search term or filename with unicode or symbols before putting it in a URL
  • Preparing a signed URL or token value so reserved characters survive transport

Frequently asked questions

Is this URL encoder free?+

Yes. It is completely free with no sign-up, no limits, and no watermarks.

Is my data uploaded or stored anywhere?+

No. Both encoding and decoding happen locally in your browser using JavaScript. Your data never leaves your device, which makes it safe for tokens and signed URLs.

What is URL encoding?+

URL encoding, or percent-encoding, replaces unsafe characters in a URL with a % followed by two hex digits. It lets spaces, symbols, and non-ASCII text travel safely inside web addresses and query strings.

What is the difference between encodeURIComponent and encodeURI?+

This tool uses encodeURIComponent, which encodes characters like /, ?, &, and = because it is meant for individual query values. encodeURI leaves those characters intact because it encodes a whole URL. Use component encoding for each parameter value.

Why does decoding fail on my input?+

Decoding only works on valid percent-encoding. If the string contains a stray % or a malformed sequence like %ZZ, the tool reports "Invalid percent-encoding" instead of returning garbage.

Learn more

Embed this tool

Free to use on your own site — it stays fast and private for your visitors.

Paste this where you want the tool to appear:

<iframe src="https://hypercho.com/embed/url-encoder" title="URL Encoder / Decoder by Hypercho" width="100%" height="560" style="border:1px solid #d8cec3;border-radius:16px;max-width:720px" loading="lazy"></iframe>
<p style="font:13px sans-serif"><a href="https://hypercho.com/tools/url-encoder" target="_blank" rel="noopener">URL Encoder / Decoder</a> by <a href="https://hypercho.com" target="_blank" rel="noopener">Hypercho</a></p>