Utils365

URL encode and decode

Percent-encode text for links, and turn encoded URLs back into readable text.

Paste text, open a file, or drop one here

Next: Base64 encode / decode · JWT decoder

Report a problem with this tool

How to use URL encode / decode

  1. Choose Encode or Decode

    Encode makes text safe to put in a URL. Decode turns %20 and other codes back into text.

  2. Paste your text or link

    The result updates as you type. Pick whether you’re encoding one part of a URL or a whole one.

  3. Copy the result

    Copy or download it. For a link with a query string, each parameter is listed below, decoded.

Why use Utils365

  • Every language and emoji

    Text is encoded as UTF-8, so accents, Chinese and emoji survive the round trip exactly.

  • Read tracking links

    Paste a long link and see each query parameter, such as utm_source, on its own line with its value decoded.

  • Clear errors

    A broken % code is named with its position, so you can find it in a long URL.

  • Private by design

    Encoding and decoding happen in your browser, so links with tokens or personal details are never uploaded.

Frequently asked questions

What is URL encoding?

Also called percent-encoding, it writes characters that aren’t allowed in a URL as % followed by two hex digits. A space becomes %20 and € becomes %E2%82%AC.

Should I encode a URL part or a whole URL?

Encode a part, such as a search term or a value in a query string, so characters like & and = don’t break the link. Encode a whole URL only to fix spaces and accents while keeping : / ? & = # working.

Is a space %20 or +?

Both are used. %20 works everywhere in a URL. + means a space only in query strings and form data. Tick Spaces as + to encode the way HTML forms do.

Why does decoding say a % code is invalid?

A % must be followed by two hex digits, and the codes together must make valid UTF-8. A lone % or a cut-off code like %E2%82 can’t be decoded. A real percent sign is written %25.

Is this the same as encodeURIComponent?

Yes. Text for a URL part uses encodeURIComponent and A whole URL uses encodeURI, so the results match JavaScript exactly.