Base64 を TIFF に変換

Base64 でエンコードされたスキャン画像や印刷用ファイルを TIFF として保存したり、ブラウザで表示できる任意の画像を非圧縮の RGBA TIFF に変換したりできます。処理はすべてお使いのデバイス上で行われます。

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

使い方

  1. Base64 文字列または data:image/tiff;base64 URI を貼り付けます。
  2. 判別された形式とサイズを確認します。TIFF はプレビューが表示されないことがありますが、ほとんどのブラウザではこれが通常の動作です。
  3. 受け取った TIFF をそのまま保存するには「オリジナル」を選択します。PNG、JPEG、WebP などの画像を変換するには TIFF を選択したままにします。
  4. .tiff ファイルをダウンロードします。

TIFF データの見分け方

TIFF ファイルはバイトオーダーマークで始まります。リトルエンディアンのファイルは II(Intel に由来)で始まり、SUkq にエンコードされます。ビッグエンディアンのファイルは MM(Motorola に由来)で始まり、TU0A にエンコードされます。Base64 の TIFF は、ドキュメントスキャナー、FAX サービス、OCR パイプライン、アーカイブシステム、GeoTIFF を扱う GIS ツールなどから出力されます。MIME タイプは image/tiff で、拡張子 .tif と .tiff はどちらを使ってもかまいません。

プレビューが表示されない理由

Chrome、Edge、Firefox は TIFF 画像を表示できません。主な例外は Safari です。それでもこのツールはヘッダーから形式を判別してデコード後のサイズを表示し、「オリジナル」を選択すればファイルを保存できます。保存したファイルは、後から画像ビューアー、PDF ツール、編集ソフトで開くことができます。

TIFF を PNG や JPEG に変換するには、まずブラウザがデコードする必要があるため、TIFF を表示できるブラウザでしか機能しません。スキャン文書や FAX でよく使われるマルチページ TIFF は、「オリジナル」でダウンロードすればすべてのページが保持されます。変換で使えるのはブラウザがデコードした画像だけで、通常は最初のページです。

TIFF への変換

逆方向の変換はどのブラウザでも機能します。PNG や JPEG から WebP、GIF、AVIF、BMP、SVG まで、ブラウザで表示できる画像ならどれでも TIFF として保存できます。出力はチャンネルあたり 8 ビットの非圧縮 RGBA なので、1 ピクセルあたり約 4 バイトになります。LZW 圧縮や ZIP 圧縮は使用せず、CMYK への変換も行いません。印刷会社から CMYK を求められた場合は、プロ向けの画像編集ソフトでファイルを変換してください。

// Go:Base64 の TIFF データをディスクに書き込む
data, err := base64.StdEncoding.DecodeString(b64)
if err != nil {
    log.Fatal(err)
}
os.WriteFile("scan.tif", data, 0o644)

よくある質問

TIFF のプレビューが表示されないのはなぜですか?

ほとんどのブラウザは TIFF に対応していないため、プレビューは空のままになります。それでもデータは正しくデコードされており、「オリジナル」でダウンロードすれば完全なファイルを取得できます。

Base64 の TIFF を PNG や JPG に変換できますか?

Safari のように、ブラウザが TIFF をデコードできる場合に限り可能です。それ以外の場合は、元のファイルをダウンロードしてデスクトップのソフトウェアで変換してください。

TIFF の出力は圧縮されていますか?

いいえ。変換したファイルは非圧縮の RGBA で、ほぼすべての TIFF リーダーが対応していますが、ファイルサイズは大きくなります。3000 × 2000 ピクセルの画像で約 24 MB です。

マルチページ TIFF に対応していますか?

「オリジナル」でダウンロードすれば、すべてのページがそのまま保持されます。変換では 1 ページのみが使われます。

TIFF を Base64 にエンコードするにはどうすればよいですか?
TIFF を Base64 に変換を使うと、Base64 文字列または data URI を取得できます。