Base64 エンコーダ / デコーダ

テキストとBase64の相互変換。UTF-8対応。

Loading…

すべての処理はブラウザ内で実行されます — ファイルや入力はサーバへ送信されません。

使い方

入力パネル上部の Encode / Decode を切り替え、テキストを貼り付けると、出力パネルに結果がリアルタイムで反映されます。エンコーダは UTF-8 テキストを受け取り、日本語・韓国語・絵文字も正しく往復します。デコーダは標準の Base64(A–Z・a–z・0–9・+・/・= の文字セット)を受け取り、元のテキストを返します。

テキストしか入らないフィールドにバイナリ的なデータを埋め込みたい場面で使います。インライン画像の data URI、YAML シークレットのペイロード、HTTP Basic 認証ヘッダーなどです。処理はすべてブラウザ内のネイティブ btoa・atob・TextEncoder・TextDecoder API で完結するため、入力がページ外に出ることはありません。

Basic 認証ヘッダーをエンコード

入力
alice:s3cret
出力
YWxpY2U6czNjcmV0

HTTP Basic 認証は user:pass を連結して Base64 エンコードします。Authorization ヘッダーの値にする際は「Basic 」を前置きします。

UTF-8 テキストの往復

入力
안녕 こんにちは 🌏
出力
7JWI64WV44GT44KT44Gr44Gh44GvIPCfjI8=

非 ASCII テキストはまず UTF-8 で符号化されるため、文字あたり 2〜4 バイトになります。出力は入力の約 4/3 倍の長さです。

data URI 本体をデコード

入力
SGVsbG8sIHdvcmxkIQ==
出力
Hello, world!

「data:text/plain;base64,」のプレフィックスは外してから貼り付けてください。本ツールは Base64 本体のみをデコードします。

よくある質問

JWT のセグメントをデコードすると失敗するのはなぜですか?

JWT は base64url という変種を使います。+ を -、/ を _ に置き換え、末尾の = パディングを省略します。標準 Base64 ではそのまま読めません。文字を戻してパディングを補うか、base64url を直接扱える [JWT デコーダ](/ja/jwt-decoder/) を使ってください。

バイナリファイル(画像・PDF)はエンコードできますか?

直接はできません。本ツールはテキスト入力/テキスト出力です。ファイルの場合はブラウザの DevTools コンソールで FileReader.readAsDataURL を使うか、ファイル対応の Base64 コンバーターを使ってください。エンコードのロジックは同じで、入力の受け方だけが違います。

Base64 は暗号化ですか?

いいえ。Base64 は鍵なしで誰でも復号できる可逆エンコードです。任意のバイト列をテキストしか通らない経路(メール本文、JSON 文字列、URL)に乗せるための仕組みであり、内容を隠す目的ではありません。秘密の保護に使ってはいけません。

エンコード結果の末尾に = が 1〜2 個付くのはなぜですか?

Base64 は入力 3 バイトを出力 4 文字に詰めます。入力の長さが 3 の倍数でない場合、最終グループを = でパディングして出力が常に 4 の倍数になるよう調整します。末尾の = が 1 個なら最終グループは入力 2 バイト、= が 2 個なら 1 バイトです。

PEM / MIME 形式の改行入り Base64 にも対応していますか?

デコード側は対応しています。atob は空白を許容するため、PEM 本体や MIME で改行が入った Base64 も問題なくデコードできます。エンコード側は改行なしの一行で出力します。64 文字折り返しが必要な場合は手動で分割するか、PEM 用ツールを通してください。

関連する概念

Base64 はバイナリデータの 3 バイトごとを 64 文字のアルファベット(A–Z・a–z・0–9・+・/)から取り出した 4 文字の ASCII にマップし、必要に応じて = をパディングに使います。結果は入力より約 33% 大きくなりますが、テキストしか通らない経路でも壊れない文字だけで構成されるため、1992 年に MIME がメール添付向けに定義した目的にぴったり合っています。

実務では 3 つの変種が重要です。標準 Base64(RFC 4648 §4)は + と / を使います。URL セーフな base64url(RFC 4648 §5)は - と _ に置き換え、URL やファイル名に追加エスケープなしで載せられるようにし、通常は = パディングを省略します。これは JWT や JWS が採用している形式です。MIME Base64 は旧来のメール伝送のため 76 文字で行を折り返します。エンコードは暗号化ではありません。復号には鍵が不要で機械的に行えます。機密性が必要なものには本物の暗号を使い、Base64 はその暗号文をテキスト経路で運ぶためだけに使ってください。

関連記事

関連ツール