画像のバイト列をBase64の文字列にする
画像からBase64への変換では、PNG、JPEG、WebP、GIF、または安全なSVGファイルのバイトを読み、Base64の文字で表現します。このページの出力はデータURLで、data:image/png;base64,のようなMIME形式の指定に、符号化された内容が続きます。画像の参照先や、文字列を受け取る仕組みの入力として使えます。ただし、符号化は画像を圧縮する処理ではなく、見た目の品質も変えません。Base64の文字列は、先頭の指定を除いても元のバイナリよりおよそ三分の一長くなるのが一般的です。
逆方向も同じページで行えます。Base64から画像を選び、完全なデータURLまたは文字列だけを貼り付けてください。先頭の形式指定がない場合には実際の画像形式を選びます。ツールは文字をバイトへ戻し、ファイルの特徴を確認したうえでプレビューと保存を提供します。二つの方向は同じ作業の行きと帰りなので、切り替え式の一ページにまとめています。
小さな画像で往復を試す
一ピクセルのPNGを符号化すると、データURLはdata:image/png;base64,から始まります。内容の最初にはiVBORw0KGgoのような文字が並ぶことがあります。この部分はPNGファイルの識別情報に由来し、後ろの文字には画像全体のデータが続きます。完全なURLを逆方向へ貼ると、プレビューに元の画像が再び現れます。保存できるファイルには復元したバイトが入ります。この操作では画像を描き直さないため、正しい往復で元ファイルのバイトを維持できます。
非常に小さなアイコンなら、単独のHTML例やAPIの試験で埋め込みが便利な場合があります。普通のウェブサイトでは、別ファイルの画像のほうがキャッシュ、更新、点検をしやすいことも多いでしょう。埋め込む前に実際のデータ量を比較してください。数MBの画像を符号化すると非常に長い文字列になり、ソースが読みにくくなり、ブラウザーでのコピーや処理にも時間がかかります。
形式の確認と安全上の注意
Base64は符号化であり、暗号化ではありません。文字列を読める人は画像を復元できます。私的な写真を、符号化したという理由だけで公開文書に載せないでください。データURLの先頭がないときは、正しいMIME形式を指定します。JPEGのバイトにPNGという名前を付けても、形式は変わりません。復号側は一般的なファイルの特徴を確かめ、種類が合わない場合は誤解を招くファイルを作らずに知らせます。コピーで入った空白は無視できますが、欠けた内容を自動で補うことはできません。
文字を扱うBase64ツールと違い、この変換は画像ファイルのバイトそのものを扱います。ファイル名や画像の説明文を符号化するわけではありません。SVGは安全で自己完結した内容だけを受け付けます。容量の上限は長い入力によるブラウザーのメモリ不足を避けるためです。復号後にプレビューできないときは、元データが最後まで揃っているか、指定したMIME形式が中身と一致するか確認してください。