Cadmeo

Encoding Tools and Hash Generators

These 8 encoding tools and hash generators cover Base64, URL encoding, SHA-256 hashing, checksum comparison, JSON Web Tokens, MAC address formatting and bitwise operations. None of them sends your input anywhere.

8 tools

Encoding, hashing and the difference between them

Encoding is reversible and carries no key. Base64 and percent-encoding both exist so data survives a channel that expects plain text, and anyone holding the result can turn it back. Neither protects anything, which is the single most common misunderstanding about Base64 in particular.

Hashing is one-way. A SHA-256 digest of a file cannot be turned back into the file, which is what makes it useful for proving a download arrived intact. The hash generator works on text and the file checksum calculator works on a file, and the two give different digests for the same visible content because the bytes differ.

The Base64 encoder converts text to UTF-8 bytes before encoding, which the browser btoa function does not. btoa works on Latin-1 and throws on any character above 255, so encoding a word containing an accent fails outright without that step. The decoder accepts the URL-safe alphabet and missing padding rather than rejecting them.

The JWT decoder reads a token header, payload and claims and checks the expiry against the current time. It does not verify the signature and deliberately cannot: verification needs the signing secret or the public key, and pasting either into a web page would hand it to whatever that page chooses to do with it.

Two tools sit beside these for adjacent jobs: the bitwise calculator, which applies AND, OR, XOR, NOT and the three shift operators with results in three bases at once, and the MAC address formatter, which converts between five notations and reads the vendor and administration bits.

Which tool for which task

Encoding and hashing look similar from outside and answer opposite questions.

Which tool for which task, matching a situation to the tool that answers it
What you needThe tool
To move binary data through a text channelBase64 encoder, handling Unicode correctly in both directions
To put a value safely in a URLURL encoder, with the three percent-encoding variants exposed
To prove a download was not corruptedFile checksum calculator, then hash compare against the published value
To fingerprint a piece of textHash generator, which works on the text rather than on a file
To read the claims inside a tokenJWT decoder, with the expiry checked against now
To work with bits directlyBitwise calculator, showing decimal, binary and hexadecimal together

Frequently asked questions

Is Base64 a form of encryption?

No. Base64 is a transport encoding with no key, so anyone holding the string can decode it in seconds. It exists so binary data can travel through channels that expect text. Use it for that, and use real encryption when the content actually needs protecting from a reader.

Why does hashing a file give a different result from hashing its text?

Because the bytes differ. Hashing a file covers every byte, including the trailing newline and any byte-order mark at the start. Pasting the same content into a text box usually changes line endings or drops that mark, and a single byte of difference changes the entire digest.

Can this decoder verify a JWT signature?

No, and that is deliberate. Verifying a signature needs the signing secret or the public key, and pasting either into any web page would be a serious mistake. The decoder shows the header, the payload, every claim and whether the token has expired, which covers inspection.

Should I still trust an MD5 or SHA-1 checksum?

For detecting accidental corruption, yes. A truncated or damaged download will not produce a matching digest under either algorithm. For proving a file was not deliberately tampered with, no: both have practical collision attacks, so use SHA-256 where the threat is an attacker rather than a bad connection.

Is my input sent anywhere when I use these tools?

No. Every one runs as JavaScript in your own tab and the site has no backend to receive anything. That matters most here, because the input to these tools is often a live credential, a private file or a token that would be worth stealing if it travelled anywhere.