Base64デコーダー
Base64文字列を貼り付けると、入力中にデコード結果が表示されます。読めるテキスト、画像のプレビュー、ダウンロード用のファイルのいずれかで確認できます。
Base64をオンラインでデコード
Base64はバイナリデータを英数字などのプレーンな文字に変換し、JSON、メール、HTML、URLの中で運べるようにする方式です。APIのレスポンス、設定ファイル、KubernetesのSecret、メールのソースなどでこうした長い文字列を見かけたら、デコードすれば実際の中身がわかります。
このページは、貼り付けた時点でデコードするよう設定したBase64エンコーダー・デコーダーを開きます。デコードはブラウザー内で行われます。Base64文字列には認証情報や個人データが含まれていることが多いため、これは重要な点です。
ツールが自動で処理すること
- 空白と改行:76文字で折り返されたMIME形式のメール本文など。
- Base64URL:
-と_を使う形式で、JWTやURLで使われます。 - パディングの省略:末尾の
=はなくても構いません。 - データURI:
data:image/png;base64,…など。 - UTF-8のテキスト:アクセント記号、絵文字、日本語などラテン文字以外の文字も含みます。
テキスト、画像、ファイルのどれになるか
デコード後、バイト列がチェックされます。有効なUTF-8テキストで、既知のバイナリ形式でなければテキストとして表示されます。PNG、JPEG、GIF、WebP、PDF、ZIPファイルのシグネチャで始まっていれば、画像ならプレビューが表示され、正しい拡張子付きのダウンロードボタンが現れます。Base64になった添付ファイルや埋め込み画像は、こうして元に戻せます。
デコードに失敗するよくある原因
| 症状 | 考えられる原因 | 対処法 |
|---|---|---|
| 「Not valid Base64」 | 引用符やキー名など、ほかのテキストも一緒にコピーした | エンコードされた値だけを貼り付ける |
| テキストのはずがファイルとして提供される | テキストがUTF-8ではなかった(例:Windows-1252) | ダウンロードし、その文字コードで開く |
| 出力がまたBase64のように見える | データが2回エンコードされていた | 結果をもう一度デコードする |
| 長くきれいな文字列なのに「Not valid Base64」 | 文字列が途中で切れている | 値を最後まで完全にコピーする |
コードとコマンドラインでデコードする
LinuxとmacOSではecho 'SGVsbG8=' | base64 --decode、PowerShellでは[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8='))を使います。JavaScriptではnew TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))がUTF-8として正しくデコードしますが、単なるatobではそうなりません。Pythonならbase64.b64decode(s).decode()です。
素のBase64ではなくトークンを調べたいときは、JWTデコーダーがヘッダーとペイロードをデコードして整形します。逆に画像をBase64にするには、画像をBase64に変換を使ってください。