JPG Base64 変換ツール

JPG・JPEG 画像を Base64 にエンコードします。元のファイルをバイト単位でそのまま残すことも、品質と幅を下げて再エンコードし、文字列を短く抑えることもできます。

すべてブラウザ内で処理され、データはアップロードされません。

使い方

  1. .jpg または .jpeg ファイルをドロップエリアにドロップするか、クリックして選択するか、画像を貼り付けます。
  2. ファイルをそのまま残すには、変換しない設定(「元の形式のまま」)にします。小さくしたい場合は「変換形式」で JPEG または WebP を選び、「品質」を下げます。
  3. 写真が実際の表示サイズより大きい場合は、「最大幅」を設定します。
  4. ページ用の img タグや API 用の Base64 文字列など、必要な出力をコピーするか、ファイルとしてダウンロードします。

JPEG の概要

JPEG は写真の標準的な形式です。目にはほとんどわからない細部を捨てる非可逆圧縮を使い、透過には対応していません。拡張子は .jpg、.jpeg、まれに .jfif ですが、MIME タイプは常に image/jpeg です。image/jpg は登録された MIME タイプではありません(多くのブラウザは受け付けます)。JPEG の data URI は data:image/jpeg;base64,/9j/ で始まります。この部分は、画像の開始を示すマーカー(SOI)をエンコードしたものです。

エンコード前に写真を小さくする

Base64 の影響が最も大きいのは写真です。200 KB の JPEG は約 270 KB のテキストになります。特に効果が大きい設定は次の 2 つです。

  • 最大幅。幅を半分にすると、ピクセル数は 4 分の 1 になります。幅 4000 ピクセルのスマートフォンの写真が、そのサイズのまま必要になることはまずありません。
  • 品質。70~80% 程度の値なら、画面上では通常オリジナルと見分けがつかず、サイズは大幅に小さくなります。極端に低い値では、ブロック状のノイズが目立ちます。

同程度の品質で WebP に変換すると、さらに小さくなることがよくあります。設定ごとに表示されるエンコード後のサイズを確認し、見た目に問題がない範囲で最も小さい結果を選びましょう。

EXIF メタデータ

カメラやスマートフォンで撮影した写真には、機種、撮影日時、場合によっては GPS 座標などの EXIF メタデータが含まれています。変換しない場合、Base64 の出力にはメタデータを含む元のバイト列がそのまま入り、デコードすれば誰でも読み取れます。API がハッシュを検証したり撮影日を読み取ったりする場合など、ファイルが元のままであることが重要なときは、これが望ましい動作です。

変換するとブラウザ内でピクセルが再エンコードされ、EXIF データは引き継がれません。出力は小さくなり、写真の撮影場所もわからなくなります。

JPEG の data URI が役立つ場面

適しているのは、ぼかした小さなプレースホルダー(幅 20~40 ピクセルの画像をインライン化し、本来の写真は遅延読み込みする)、JSON レスポンス内のサムネイル、1 ファイルで完結する HTML エクスポートなどです。メインビジュアルやギャラリーの画像は、ブラウザがキャッシュできる別ファイルにしましょう。

# Python
import base64
with open('photo.jpg', 'rb') as f:
    uri = 'data:image/jpeg;base64,' + base64.b64encode(f.read()).decode('ascii')

よくある質問

JPG と JPEG は同じですか?

はい。短い .jpg という拡張子は、拡張子に 3 文字までしか使えなかったシステムの名残です。どちらも同じ形式で、MIME タイプは image/jpeg です。

Base64 エンコードで JPEG の画質は下がりますか?

いいえ。Base64 はファイルのバイト列を損失なく表現したものです。画質が変わるのは変換を選んだ場合だけで、そのときは設定した「品質」で画像が再エンコードされます。

JPEG の data URI で背景を透過できますか?
いいえ。JPEG にはアルファチャンネルがありません。透過が必要な場合は PNG または WebP を使ってください。
Base64 文字列に写真の撮影場所が含まれることはありますか?

あります。元の JPEG の EXIF メタデータに GPS データがあり、そのままエンコードした場合、位置情報は文字列に含まれます。画像を変換すると EXIF メタデータは削除されます。