ファイルを選択
  1. base64hub
  2. ファイルツール
  3. ファイルを Base64 に変換

ファイルを Base64 に変換

ファイルを 1 つでも複数でもドロップすれば、Base64 をプレーンな文字列、Data URI、JSON オブジェクトとしてコピーできます。大きなファイルはブラウザ内で分割して読み込まれ、何もアップロードされません。

無料 登録不要・制限なし ローカル アップロードなし 一括 複数ファイルを 1 つの JSON 配列に 更新日 2026/10/27
ここにファイルをドロップ、貼り付け、または選択
入力 –出力 –サイズ –

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

ファイルを Base64 に変換する方法

  1. 1 つ以上のファイルを枠にドロップするか、ファイル選択を使うか、コピーしたファイルを Ctrl+V で貼り付けます。
  2. 出力形式 を選びます。プレーン Base64(このページのデフォルト)、Data URI、HTML <a download>、JSON、それに画像やフォント用のラッパーがあります。
  3. 必要なら設定を変えます。URLセーフ(- _) は + と / を - と _ に置き換え、76 文字で折り返し は MIME メール向けに改行を入れます。
  4. 出力をコピー するか、.txt で保存 で filename.ext.b64.txt を保存します。

複数のファイルを選ぶと一覧が表示され、各ファイルの名前と、元のサイズ、エンコード後のサイズが並びます。表示 で 1 つの結果を表示し、すべて JSON でコピー で全ファイルを {name, type, size, data} オブジェクトの配列としてコピーします。フィクスチャファイルやシードスクリプトにすぐ貼り付けられます。

画像以外のファイルでの出力形式の意味

出力形式report.zip の結果用途
プレーン Base64UEsDBBQAAAAI...API のフィールド、環境変数、設定値
Data URIdata:application/zip;base64,UEsDBBQA...HTML や JavaScript 内の URL
HTML <a download><a href="data:application/zip;base64,..." download="report.zip">report.zip</a>それ単体で完結するダウンロードリンク
JSON{"name": "report.zip", "type": "application/zip", "size": 323, "data": "UEsDBBQA..."}テスト用フィクスチャ、自前のアップロード用エンドポイント

JSON のキーは固定です(name、type、size、data)。API が別の名前を求めるなら、貼り付けてから名前を変えてください。size は元のファイルのバイト数で、受信側はデコード後の長さが一致するか確認できます。

Data URI の MIME タイプと JSON の type は、ブラウザから取得します。ブラウザがそのファイルを知らなければ拡張子から推測し、それも失敗すると application/octet-stream を使います。これで変わるのはラベルだけで、Base64 はどちらでも同じです。

CI のシークレットや設定に入れるバイナリファイル

ファイル全体をエンコードするよくある理由は、テキストしか保存できないシークレットストアです。CI の変数、.env ファイル、Kubernetes の Secret などがそうです。署名用のキーストア、証明書、サービスアカウントのファイルを Base64 の 1 行として登録し、パイプラインの中で復元します。

echo "$KEYSTORE_B64" | base64 -d > release.keystore

この用途では 76 文字で折り返し はオフにしてください。改行を含む値は、シークレットの UI やシェルで壊れがちです。Kubernetes は data: の下のすべての値をこの方法で保存しており、Kubernetes Secret デコーダー で読み戻せます。

先頭の数文字で中身を知る

ほとんどのファイル形式は先頭のバイトが決まったシグネチャなので、Base64 の書き出しを見ればデコードせずに形式がわかります。よく見るものをいくつか挙げます。

ファイル形式Base64 の先頭
PDFJVBERi0
ZIP、DOCX、XLSX、PPTX、JAR、APKUEsDB
gzip(.gz、.tgz)H4sI
7-ZipN3q8ryc
Windows の EXE や DLLTVqQ(大半のファイル)、必ず TV
Linux の ELF バイナリf0VMRg
SQLite データベースU1FMaXRlIGZvcm1hdCAz
ID3 タグ付き MP3SUQz
PNGiVBORw0KGgo
JSON オブジェクトeyJ({" の場合)

より長い一覧は よくある Base64 の接頭辞 にあります。Base64 をファイルに変換 でデコードするときも、同じ方法で形式を判定します。

サイズ、メモリ、大きなファイル

Base64 の出力は入力の 4/3 で、4 文字の倍数に切り上げられます。1 MB のファイルは 1,398,104 文字になり、76 文字で折り返し をオンにするとさらに 18,396 文字の改行が加わります。出力の下のカウンターには、両方のサイズと増加率(%)が表示されます。

すべてブラウザのタブ内で動くので、実際の上限は端末のメモリです。

  • テキストボックスには出力の最初の 4 MB だけが表示されます。出力をコピー と .txt で保存 は常に結果全体を使います。
  • 出力が約 48 MB を超えると 出力をコピー は無効になります。
  • 約 48 MB を超えるファイルは分割してエンコードされ、結果は .txt で保存 でのみ取得できます。

それほど大きなファイルなら、Base64 が適切な運び方かどうか考え直してください。マルチパートのアップロードやバイナリの直接転送なら、33% の増加も、送受信両側でのメモリの急増も避けられます。サイズ計算ツール を使えば、始める前にエンコード後のサイズがわかります。

コマンドラインやコードでファイルをエンコードする

Linux(GNU coreutils、-w 0 でデフォルトの 76 文字折り返しを無効化):

base64 -w 0 report.zip > report.zip.b64

macOS(こちらの base64 はデフォルトで折り返しません):

base64 -i report.zip -o report.zip.b64

Windows PowerShell:

[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\data\report.zip")) | Set-Content report.zip.b64

Python:

import base64
from pathlib import Path

encoded = base64.b64encode(Path("report.zip").read_bytes()).decode("ascii")

大きなファイルをメモリに読み込まずにストリーミングする方法は、Python の Base64、Node.js、Java、PHP をご覧ください。

よくある問題

  • 出力に改行が入る。 GNU の base64 はデフォルトで 76 文字、openssl base64 は 64 文字で折り返し、certutil -encode はヘッダー行まで付けます。JSON の API や環境変数の多くは 1 行を必要とします。-w 0、openssl base64 -A、または折り返しをオフにしたこのツールを使ってください。
  • Data URI が application/octet-stream になる。 ブラウザがタイプを知らず、拡張子もツールのリストにありませんでした。バイト列は正しいままです。受信側が気にするなら、接頭辞の MIME タイプを書き換えてください。
  • 「出力をコピー」がグレーアウトしている。 結果がコピーの上限(約 48 MB)を超えています。.txt で保存 は使えますし、文字列を必要とするツールのほとんどはファイルから読み込めます。
  • JSON で 1 つのファイルだけ "data": null になっている。 一括処理では、約 48 MB を超えるファイルはダウンロード専用に分割エンコードされるため、すべて JSON でコピー ではデータが省かれます。そのファイルだけを単独でエンコードし、.txt で保存してください。
  • デコードしたファイルが元より小さい。 文字列が途中で切れています。デコード後の長さを JSON 出力の size の値と比べてください。
  • 入力がテキストだったのに文字化けする。 Base64 は元の文字コードも含めてバイト列をそのまま保ちます。UTF-16 のテキストファイルは UTF-8 ではなく UTF-16 にデコードされます。入力するテキストには、文字コードを選べる テキストを Base64 に変換 を使ってください。

よくある質問

どんな種類のファイルを Base64 に変換できますか?

どんなファイルでも変換できます。Base64 はバイトをエンコードするだけで、その意味は気にしないので、実行ファイル、アーカイブ、データベース、文書もテキストと同じように扱えます。PDF を Base64 に変換 のような形式別のページは、その形式向けのヒントを加えているだけです。

ファイルサイズに上限はありますか?

処理はブラウザ内で行われるので、決まった上限はありません。約 48 MB までの出力はコピーでき、それを超える場合は .txt で保存 を使います。約 48 MB を超えるファイルは分割してエンコードされ、ダウンロードでのみ提供されます。

Windows で追加のツールなしにファイルを Base64 エンコードするには?

PowerShell なら 1 行でできます:[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\path\file.bin"))。certutil -encode も使えますが、-----BEGIN CERTIFICATE----- の行が付き、出力が折り返されるので、それを取り除く必要があります。

Data URI ではどの MIME タイプが使われますか?

ブラウザがそのファイルについて報告するタイプです。報告がなければ拡張子から推測し、それでもわからなければ application/octet-stream になります。受信側が特定のタイプを必要とするなら、接頭辞を手で書き換えてください。

Base64 をファイルに戻すには?

Base64 をファイルに変換 を使ってください。デコードしたバイト列からファイル形式を判定し、合う拡張子を提案します。