Skip to content
ohsudo, Home

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.

Base64
Base64URL (URL-safe, no padding)
URL encoded

Hashes (of the text, as UTF-8)

MD5
SHA-1
SHA-256
SHA-512

MD5 and SHA-1 are fine for checksums, not for security or passwords.

Paste Base64 or URL-encoded text to decode it.

Decoded text — Base64
Decoded text — URL

How to use it

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

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

x509: certificate signed by unknown authority
Kubernetes

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

Authentication failed
Databases

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

NOAUTH
Databases

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 expired
Security

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

ImagePullBackOff
Kubernetes

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

FATAL: password authentication failed for user
Databases

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

ERROR 1045 (28000): Access denied for user
Databases

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