Begin with the boundary
An address contains structure: a scheme, a host, path separators and possibly a query string. A query value can contain characters that otherwise have structural meaning. If the value is coffee & books, the ampersand belongs to the value and must not start another parameter.
Encode that value once and insert it into the surrounding address. Our tool uses encodeURIComponent, which also escapes slashes and question marks. It is designed for a component, not a complete navigable address. Encoding a whole address with this operation turns its separators into data and changes what it means.
Text becomes bytes before transport
Percent escapes represent byte values. For non-ASCII text, UTF-8 can use more than one byte per character, so one visible character may produce several percent escapes. This is expected and does not mean that the input was duplicated.
Base64 starts from bytes too. Our Base64 tool first turns text into UTF-8, then encodes those bytes. On decode, it requires valid UTF-8 text. A Base64 representation of an image or archive can be valid Base64 while not being a valid text string; that needs a binary-oriented tool instead.
Try it with your own input
Your result
Understand the plus-sign exception
A literal plus and a space are different in ordinary URI-component decoding. In form-encoded query strings, a plus is commonly interpreted as a space. That convention belongs to the form format; it is not a universal rule for every percent-encoded value.
The URL decoder therefore has an explicit form-mode checkbox. Use it for form-encoded data, and leave it off for a component whose plus signs are literal. Test a value containing both a plus and a space to see the difference. Changing the decoding convention can silently change a search term or identifier.
Know which Base64 alphabet you have
Standard Base64 uses letters, digits, plus and slash, with equals signs for padding where required. Base64url substitutes minus and underscore for the two problematic characters and often omits padding. A receiving system must know which representation it expects.
The decoder accepts either alphabet and validates length, padding and UTF-8. That does not imply that every external API accepts both forms. Read the API contract and preserve its required padding convention. A UUID, a checksum and a Base64 string may all look like random text, but their structures and purposes differ.
Decode once and inspect failures
A percent sign without a complete hexadecimal escape is malformed. Some byte sequences are not valid UTF-8. The tool reports these cases instead of returning a partial string. If you see %2520, you may be looking at a percent-encoded percent sign; decoding repeatedly without knowing the layers can change intended data.
Keep the original value until you have verified the decoded output. Use a small sample with punctuation, Unicode and reserved characters when integrating a converter. For structured rows, the CSV guide shows the same principle: identify the representation before transforming it.
Encoding does not hide secrets
A Base64 password remains a password that anyone can decode. A percent-encoded token in an address can still enter browser history, server logs, copied links and referrer flows. The alphabet may look less readable, but the underlying data remains recoverable.
Use appropriate authentication and encrypted transport rather than an encoding trick. These tools keep input in the tab and do not place it in the URL. If you need a new credential, use the Password Generator and store the result in a trusted password manager.
Common questions
Is Base64 encryption?
No. It is reversible byte encoding and provides no confidentiality.
Should I encode an entire URL?
Use component encoding for an individual query value or path segment. Preserve the structure of the surrounding address.
Why does + become a space sometimes?
That is a form-encoding convention. Enable form mode only when your source uses that convention.
Can this decode a Base64 image?
The text decoder requires UTF-8 text. Arbitrary image or archive bytes need a binary-oriented decoder.
Why does decoding fail?
Malformed escapes, invalid padding, impossible lengths or invalid UTF-8 are reported. Keep the original and check the source format.