When text becomes part of a URL, punctuation may need encoding so it remains data rather than being interpreted as URL structure. The URL Encoder/Decoder applies JavaScript’s encodeURIComponent or decodeURIComponent to the complete text you enter. Its unit of work is a component, such as one query value, rather than a fully assembled destination address.
Select the correct operation
Paste the value into Your text and select Encode or Decode in Operation, then choose Generate result. For encoding, enter the original unescaped text. For decoding, enter the percent-encoded component you want to inspect. Keep an original copy when debugging a link so each transformation can be compared with the source.
If your goal is to build a full campaign link, use the UTM Link Builder instead. Its URL handling keeps the address structure separate from the values being added. Encoding a whole URL with this component tool will encode structural characters such as its colon and slashes as well.
Work through reserved characters
Encode camera & lens/guide. The result is camera%20%26%20lens%2Fguide. The spaces become %20, the ampersand becomes %26, and the slash becomes %2F. Decoding that result returns the original camera & lens/guide text.
This matters if the text belongs in one query value. An unescaped ampersand could otherwise be read as a separator between parameters. A slash may be meaningful in an address path, but here it is treated as part of the supplied component. Decide which layer you are editing before copying the output into a larger URL.
Recognize common decoding traps
Decode operates on percent escapes and does not treat a plain + as a space. For example, decoding camera+bag returns camera+bag. Some form-style query serializers use plus signs for spaces, so a raw query fragment may need different parsing before you inspect its individual values.
Encoding an already encoded value creates another layer. %20 becomes %2520, because the percent sign itself is encoded. Decoding once reverses only one layer. Do not repeatedly decode an unfamiliar string without understanding where it came from.
Malformed percent sequences or invalid Unicode produce an error instead of a partial result. The tool processes text locally and never visits the decoded destination. Decoding is also not decryption or a check that a URL is trustworthy. Avoid distributing tokens or private values simply because they are encoded. For a different text transport format, use the Base64 Encoder/Decoder, keeping the purpose of each encoding distinct.