What a hash does
A hash function takes any input and produces a short, fixed-size fingerprint. Change a single character and the fingerprint changes completely. The same input always gives the same result, and you can't work backward from the hash to the original.
That makes hashes handy for checking that a file wasn't corrupted, comparing two pieces of data without sharing them, and building signatures.
MD5 versus SHA-256
MD5 is old and fast. It's broken for security purposes, because attackers can create two different inputs with the same hash. It's still fine for a quick checksum where nobody is trying to fool you.
SHA-256 is part of the SHA-2 family and is the standard pick for anything that matters. Use it for file integrity and signatures. The tool covers MD5 and the SHA family, so you can compare outputs side by side.
HMAC in plain terms
An HMAC mixes a secret key into the hash. Only someone with the key can produce the matching value. APIs use it to prove a request really came from you and wasn't changed on the way. Use plain hashing to check integrity and HMAC when you also need to prove who sent the data.
Text, files and output format
Hash typed text or drop in a file. Choose hex or Base64 for the output. Hex is the usual choice for checksums. Base64 is shorter and shows up in headers and tokens. The same hash in two formats looks very different, but they represent the same bytes.
There's also a compare field. Paste the hash you were given and the tool tells you whether it matches, so you don't have to compare forty characters by eye.
Why two tools give different results
If your hash doesn't match somebody else's, the cause is almost always the input. A trailing newline, a different character encoding, or Windows line endings instead of Unix ones will change everything. Hashes are exact. Even one invisible character matters.
Not for passwords
Don't store passwords with plain SHA-256. It's too fast, which helps attackers who try billions of guesses. Use a slow, purpose-built function like bcrypt, scrypt or Argon2, which add salt and make each guess expensive.
Your input is hashed locally in the browser and isn't sent to a server.