URL encoder and decoder

Encode a complete URI or a component and decode percent escapes locally as text.

Input/decoded-file limit: 1 MiB; text output: 2 MiB. Base64 is not encryption; decoded text and URLs are never opened or executed. Standard Base64 requires proper padding; Base64url accepts padded or unpadded input. Whitespace is rejected. URI preserves reserved characters; component processes the complete value. + does not mean a space.

How to use

Choose encoding or decoding, then complete URI or component. Paste the text, process it and review the output before using it.

Try an example

The component a b&c becomes a%20b%26c. URI mode preserves & because it is a reserved URI character.

Support & limits

URI uses encodeURI/decodeURI and preserves reserved characters; component uses encodeURIComponent/decodeURIComponent. A + remains a + during decoding rather than becoming a space. Results remain text and are never visited.

Common questions

Does this check the URL’s safety or contents?

No. This only transforms text locally without requesting the URL. Invalid percent escapes or incomplete UTF-8 produce an error; successful conversion does not establish URL safety.

Related tools