Base64エンコード・デコード

テキストを貼り付け、変換方向と形式を選んで結果をコピーするだけ。Base64・Base64urlへの変換と復元に対応し、日本語や絵文字もUTF-8として正しく扱うので文字化けしません。URLエンコード(%形式)は3種類の方式から選べます。不正な入力は位置付きでお知らせします。

デコードする場合はBase64または%形式の文字列を貼り付けてください。Base64内の改行は無視されます。

入力したテキストはブラウザー内にとどまります。送信・保存されず、アドレスバーにも表示されません。

結果

結果
44GT44KT44Gr44Gh44Gv44CB5p2x5Lqs77yB8J+Riw==
サイズ
10文字=UTF-8で31バイト→44文字

計算方法

Base64とは?わかりやすく解説

Base64は、任意のバイトデータを64種類の印字可能な文字(A–Z、a–z、0–9、+、/)だけで表す方式です。3バイトごとに4文字へ変換し、末尾でバイトが余ると=(パディング)で埋めます。結果は元より約3分の1長くなります。メールの添付ファイル、データURL(data:image/png;base64,…)、HTTPのBasic認証、JSONなど、テキストしか扱えない場所でバイナリデータを送るために使われます。

Base64の変換方法

  1. 入力欄にテキストまたはBase64の文字列を貼り付けます。
  2. 変換方向(エンコード/デコード)と形式(Base64、Base64url、3種類のURLエンコード)を選びます。
  3. 必要に応じて「パディング(=)を付ける」を切り替え、結果をコピーします。

Base64は暗号化ではありません。鍵がなくても誰でも元に戻せます。パスワードなどの保護にBase64を使ってはいけません。

Base64とBase64urlの違い

+と/はURLやファイル名で特別な意味を持ちます。そこでBase64url(RFC 4648 § 5)では-と_に置き換え、パディングも通常は省きます。JSON Web Token(JWT)はこの方式です。例:バイト列FB FFはBase64で+/8=、Base64urlで-_8になります。

日本語を文字化けさせないためのUTF-8

Base64が変換するのは文字ではなくバイトです。そのため本ツールはまずテキストをUTF-8に変換します。「あ」は3バイト、絵文字は4バイトになります。ブラウザ標準のbtoa()は日本語を扱えずエラーになります。デコード結果が文字化けする場合、多くは元データがShift_JISなど別の文字コードで作られています。UTF-8として読めないバイト列は16進数で表示します。

URLエンコードの3つの方式

許可されていない文字は、UTF-8の1バイトごとに%と16進数2桁で表します(RFC 3986 § 2.1)。空白は%20、「あ」は%E3%81%82です。

変換はすべてブラウザ内で行われます。入力内容は送信も保存もされず、アドレスバーにも書き込まれません。

よくある質問

Base64をデコードするには?

「デコード」と「Base64」形式を選び、コードを貼り付けるとすぐに元のテキストが表示されます。コードに-や_が含まれている場合はBase64urlなので、その形式を選んでください。

Base64をデコードすると文字化けするのはなぜ?

元のテキストがUTF-8以外(Shift_JISやEUC-JPなど)でエンコードされていると、UTF-8として読んだときに文字化けします。本ツールはUTF-8として解釈し、テキストとして読めないデータは16進数で表示します。

Base64は暗号化ですか?

いいえ。Base64は同じデータを別の文字で書き表しただけで、鍵なしで元に戻せます。データの保護には本物の暗号化が、パスワードの保存にはパスワードハッシュが必要です。

Base64の末尾に=や==が付くのはなぜ?

Base64は3バイト単位で変換します。最後に1バイトまたは2バイト余ると、長さを4の倍数にするため==または=で埋めます。Base64urlでは通常このパディングを省きます。

画像をBase64に変換するとサイズはどれくらい増えますか?

元の約4/3です。3バイトが4文字になるため、300KBの画像はBase64で約400KBになります。MIMEの改行が入るとさらに少し増えます。

encodeURIとencodeURIComponentの違いは?

encodeURIはURL全体用で、/ ? & = #はそのまま残します。encodeURIComponentはこれらもエンコードするので、パラメータの値にはこちらを使います。そうしないと値の中の&でURLが分断されます。

出典・根拠

更新日:

関連ツール