Base64エンコード・デコード

左にテキストを入力するとBase64にエンコード、右にBase64を貼り付けると元のテキストにデコードします。日本語はUTF-8で変換するため文字化けしません。

ファイル・画像をBase64に変換

ファイルをドラッグ&ドロップ、またはクリックして選択 画像・PDFなどあらゆるファイル・5MB以下推奨

Base64エンコード・デコードの使い方

  1. テキスト欄に文章を入力すると、右側のBase64欄にエンコード結果がすぐに表示されます。
  2. 反対にBase64欄に値を貼り付けると、左側に元のテキストが表示されます。
  3. 画像やPDFは下のファイル欄にドロップすると、data URIとBase64文字列を作成します。
  4. 画像・ファイルを含むBase64は、Base64をファイルとして保存ボタンで元のファイルに戻せます。

Base64エンコードとは?

Base64は、画像やファイルなどのバイナリデータや日本語などの文字を、英大文字・小文字、数字、+、/ の64種類の文字だけで表す方式です。メールの添付ファイル、HTML・CSSに画像を直接埋め込むdata URI、JSONでファイルをやり取りするAPI、ログイン認証のヘッダー(Basic認証)などで広く使われています。

3バイトを4文字に置き換えるため、結果は元のデータより約33%大きくなります。長さを4の倍数にそろえるため、末尾に「=」が0~2個付きます。

Base64は暗号化ではありません。誰でも簡単にデコードできるため、パスワードや個人情報を守る目的で使ってはいけません。

日本語のBase64変換結果がサイトによって違う理由

Base64は文字ではなくバイトを変換します。同じ「あ」でも、UTF-8では3バイトで44GC、Shift_JISでは2バイトでgqA=となり、結果が異なります。Webや多くのAPIはUTF-8を使うため、このツールもUTF-8で変換します。

デコードして文字化けする場合は、元データがShift_JISやEUC-JP、ISO-2022-JP(古い日本語メールで使われた文字コード)であるか、テキストではないファイルである可能性が高いです。

URL-safe Base64とdata URI

通常のBase64で使う+、/、=はURLの中で特別な意味を持つため、そのまま使うと不具合の原因になります。URL-safe Base64は + を - に、/ を _ に置き換え、末尾の = を省略します。JWTトークンが代表的な例です。

data URIはdata:image/png;base64,iVBOR...のようにファイル形式とBase64をまとめて書き、別ファイルを用意せずにHTMLやCSSへ画像を直接埋め込む方法です。小さなアイコンならリクエスト数を減らせますが、大きな画像は容量が約33%増えるため、通常のファイルとして置くほうが適しています。

Base64エンコード後のサイズの計算方法

Base64の結果の長さは4 × ⌈元のバイト数 ÷ 3⌉文字です。3バイトが4文字になるので、約4/3倍に増えます。

  • 元データ3バイト → 4文字
  • 元データ100KB → 約133KB
  • 元データ1MBの画像 → 約1.33MB

JWTトークンはドット(.)で区切られた3つの部分のうち、真ん中がURL-safe Base64でエンコードされたJSONです。真ん中の部分だけを貼り付ければ中身を読めますが、署名の検証は行わないため、トークンが信頼できるかどうかは判断できません。

使用上の注意

  • テキストの変換もファイルの変換も、すべてブラウザ内で処理されます。
  • ファイルは5MB以下を推奨しています。20MBを超えるファイルは変換できません。
  • Base64に使えない文字(スペース以外の記号や全角文字など)が含まれているとエラーになります。コピー時に余計な文字が入っていないか確認してください。

よくある質問

Base64は暗号化ですか?
いいえ。誰でも元に戻せるエンコード(表現形式の変換)にすぎず、セキュリティ機能はありません。
デコードしたら文字化けしました。
Base64の中身がテキストではないか、Shift_JISなどUTF-8以外の文字コードの可能性があります。画像・ファイルの場合は「Base64をファイルとして保存」を押してみてください。
末尾の「=」は何ですか?
長さを4の倍数にそろえるためのパディング文字です。このツールは = が省略されたBase64も自動で補ってデコードします。
画像をBase64に変換してHTMLに埋め込めますか?
はい。画像をファイル欄にドロップし、「data URIをコピー」で取得した値をimgタグのsrcやCSSのurl()にそのまま貼り付けられます。
ファイルはサーバーにアップロードされますか?
いいえ。ファイルの変換はブラウザ内だけで行われ、外部に送信されることはありません。

最終更新日:2026-10-06