CODDY Tool

Encoding Tool

Encode and decode Base64, URL percent-encoding and HTML entities.

One workspace for the three encodings developers use constantly. Full Unicode support in every direction, URL-safe Base64, three URL encoding modes, and clear errors that name the character that broke.

Everything you enter stays in this browser tab. Nothing is sent to our servers, logged or stored.

Loading tool…

What Encoding Tool supports

Base64

  • Base64 encode
  • Base64 decode

URL

  • URL encode
  • URL decode

HTML

  • HTML entity encode
  • HTML entity decode

About Encoding Tool

Three encodings account for almost all day-to-day work: Base64 for getting binary through text-only channels, percent-encoding for putting values safely into URLs, and HTML entities for writing characters into markup without breaking it. They solve different problems and are constantly confused for one another, so having them side by side makes the difference obvious.

Every conversion here handles Unicode correctly by going through UTF-8 bytes. The naive implementations — bare btoa and atob — throw or corrupt data on anything outside Latin-1, which means emoji, accented characters and every non-Latin script. That bug is invisible until someone pastes a name with an accent in it.

None of these is encryption. All three are fully reversible with no key and no secret, and treating Base64 as though it hides something is a recurring source of real vulnerabilities. A JWT payload is plain Base64 and readable by anyone holding the token.

How to encode or decode

  1. Choose an encoding

    Base64, URL percent-encoding or HTML entities.

  2. Pick a direction

    Encode from plain text, or decode back to it.

  3. Set any options

    URL-safe Base64, line wrapping, or which of the three URL encoding modes you need.

  4. Copy the result

    The output updates as you type. Copy it or download it as a file.

The three URL encoding modes

  • Component — escapes everything unsafe, including / ? : @ & = +. Use it for the value of a single query parameter.
  • Full URI — leaves the characters that structure a URL alone, so a complete address stays usable. Use it to encode a whole URL.
  • Form — the application/x-www-form-urlencoded convention, where a space becomes + rather than %20.

Standard and URL-safe Base64

Standard Base64 uses + and / as its final two characters, plus = for padding. All three have special meaning in a URL: + can be read as a space, / is a path separator, and = separates a parameter from its value.

URL-safe Base64 substitutes - for + and _ for /, and usually drops the padding. Use it for anything appearing in a URL path, a query parameter or a filename. Decoding detects which variant you have automatically.

Frequently asked questions

Is Base64 a form of encryption?

No, and this misunderstanding causes real security problems. Base64 is a reversible encoding with no key and no secret — anyone can decode it in a second. Never use it to protect passwords, tokens or personal data.

Does it handle emoji and non-English text?

Yes. Text is converted to UTF-8 bytes before encoding and decoded back the same way, so emoji, accented characters and non-Latin scripts survive a round trip exactly. Tools built on raw btoa fail on precisely this input.

Which URL encoding mode should I use?

Component encoding for a single parameter value, full-URI encoding for a complete address. Getting this backwards is the classic mistake: component encoding a whole URL escapes the slashes and colons that give it structure, which breaks it.

Why does my Base64 fail to decode?

Usually because it contains characters outside the Base64 alphabet — often line breaks or HTML entities introduced when copying. Ordinary whitespace is stripped automatically; anything else is reported with the position of the offending character.

Can I decode a JWT here?

Yes — paste the header or payload section, the parts before and between the dots. Both are URL-safe Base64 and decode to JSON. The signature is binary and will not produce readable text.

Why is the encoded text larger than the input?

Base64 represents every three bytes as four characters, so output is about 33% larger. Percent-encoding expands each unsafe character to three characters. Both overheads are inherent to the encodings.

All Developer Tools

Encoding Tool is free to use with no account, no watermark and no usage limits. Last updated 14 August 2026.