Base64, URL & Hash Tool
Encode and decode Base64 and URLs, and calculate MD5 and SHA hashes locally.
● Runs 100% in your browser — nothing you type leaves this page.
Hashes (of the text, as UTF-8)
MD5 and SHA-1 are fine for checksums, not for security or passwords.
Paste Base64 or URL-encoded text to decode it.
How to use it
- Encode: type or paste text on the left. You get its Base64, Base64URL and URL-encoded forms, and its hashes, as you type.
- Decode: paste Base64 or URL-encoded text on the right to read it. Standard and URL-safe Base64 both work, with or without
=padding and line breaks.
Text is handled as UTF-8, so accented letters and emoji encode the same way as with base64 on Linux or most programming languages. Everything runs in your browser — safe for configuration values and tokens.
Typical uses
- Kubernetes Secrets store values in Base64:
echo -n 'value' | base64gives the same result as this tool. - Basic authentication headers are
Basic+ Base64 ofuser:password— which is why they must only travel over HTTPS. - URL encoding for query strings and passwords in connection URLs (
@→%40,:→%3A). - Checksums: compare a hash with the one a download page publishes (
sha256sum file).
Warning
Base64 is not encryption. Anyone can decode it, as this page shows. A Kubernetes Secret in Base64 is readable by anyone who can read the manifest.
FAQ
Why does my result differ from echo 'text' | base64?
echo adds a newline at the end, and it gets encoded too. Use echo -n 'text' | base64 (or printf '%s' 'text').
Can I hash a file here?
Not yet — only text. On Linux: sha256sum file, md5sum file.
Can it create a random secret?
No, it only converts what you give it. For a new random value, use the Password Generator, which writes tokens in hex or Base64.
Are MD5 and SHA-1 safe?
For checking that a download isn’t corrupted, they’re fine. For security — signatures, passwords — they’re broken; use SHA-256 or better, and for passwords a dedicated algorithm like Argon2 or bcrypt.
Articles
Learn more
kubectl "x509: certificate signed by unknown authority": your kubeconfig doesn't trust this cluster
Fix kubectl "x509: certificate signed by unknown authority": get a fresh kubeconfig for a recreated cluster, compare the CA, and handle proxies that inspect TLS.
Intermediate · 3 min read
MongoDB "Authentication failed": the authSource is usually what's wrong
Fix MongoDB "Authentication failed": set authSource correctly, encode special characters in the URI, check which database holds the user, and handle Docker volumes.
Beginner · 4 min read
Redis "NOAUTH Authentication required": send the password, the right way for your client
Fix Redis "NOAUTH Authentication required" and WRONGPASS: find the password, send it from redis-cli and your client, set it in a URL, and use ACL users in Redis 6+.
Beginner · 4 min read
JWT "jwt expired" and "invalid signature": how to find out what is wrong with a token
Fix JWT "jwt expired" and "invalid signature": read the exp claim, check clock differences, the secret, HS256 vs RS256 and rotated keys, without turning verification off.
Intermediate · 5 min read
Kubernetes ImagePullBackOff and ErrImagePull: find out why the image won’t pull
Fix ImagePullBackOff: read the pull error in kubectl describe, then fix the image name or tag, registry credentials, Docker Hub rate limits, network or architecture.
Beginner · 4 min read
PostgreSQL "FATAL: password authentication failed for user": find the real reason
Fix PostgreSQL "password authentication failed" and "Peer authentication failed": read the server log, check pg_hba.conf, reset the password, and handle Docker.
Beginner · 6 min read
MySQL ERROR 1045 (28000): Access denied for user — find which part is wrong
Fix MySQL "ERROR 1045 Access denied for user": check the user@host account, the password, socket vs TCP, option files, and Docker init passwords.
Beginner · 5 min read