Base64 on the command line
echo -n 'hello' | base64 # aGVsbG8=
echo 'aGVsbG8=' | base64 -d # hello
base64 -w0 file.bin # no line wrapping (GNU)
Kubernetes secrets
Values in a Kubernetes Secret under data: are Base64-encoded — not encrypted. Anyone who can read the Secret can decode it. Use stringData: to write plain values, and enable encryption at rest or an external secrets manager.
kubectl get secret my-secret -o jsonpath='{.data.password}' | base64 -d
Base64 vs Base64URL
Base64URL replaces + with - and / with _ and usually drops = padding, so it is safe in URLs and filenames. JWTs use Base64URL.