← All tools

URL encoder and decoder

Encode a URL component or decode percent escapes.

Your input stays in this browser.

Your result

A component and a whole URL are different jobs

Component mode escapes reserved punctuation, including an ampersand inside a value. Whole URL mode keeps URL separators such as slashes and question marks. Encode runs only when you choose it, so an existing percent sign is never changed silently.

A worked example

octopus arms & ink becomes octopus%20arms%20%26%20ink in component mode. A literal plus stays a plus when decoding unless you choose form-style plus-as-space.

Before you use the result

An incomplete percent escape or invalid UTF-8 byte sequence cannot be decoded as text. Encoding a whole URL does not decide which ampersands belong inside a query value. For reserved characters in HTML text, use HTML entities.

Byte encodings and Morse timing