使い方
エンコードタブでテキストを入力すると、その下にBase64文字列が表示されます。デコードタブでBase64文字列や data: URLを貼り付けると、元のテキストに戻ります。ボタンを押す必要はなく、入力すると同時に結果が更新され、隣のコピーボタンでそのままコピーできます。
btoaではなくこのツールを使う理由
ブラウザ標準の btoa 関数は、ラテン文字(コードポイント0~255)の範囲外の文字があるとエラーになります。そのため日本語や絵文字が混ざった文字列を btoa でそのままエンコードすると、失敗するか文字化けした結果になります。このツールはまず TextEncoder で文字列をUTF-8のバイト列に変換し、そのバイト列をBase64エンコードするため、どの言語の文字でも安全に扱えます。デコードも同様に TextDecoder を使って元の文字に戻します。
URLセーフなBase64
標準のBase64は +、/、= の3文字を使いますが、これらはURLのクエリ文字列やファイルシステムの中で特別な意味を持つことがあり、そのまま使うと問題が起きる場合があります。URLセーフオプションをオンにすると + → -、/ → _ に置き換え、末尾の = パディングは付けません。JWT(JSON Web Token)やURLのクエリパラメータに値を入れる際によく使われる方式です。デコードするときも、エンコードで使ったのと同じオプションを選ばないと文字が正しく解釈されません。
ファイルをBase64に、Base64を再びファイルに
エンコードタブで入力の種類を「ファイル」に切り替えると、ファイルをドラッグ&ドロップまたは選択できます(最大10MB)。変換結果は data:image/png;base64,iVBORw0KG... のようにファイル形式の情報を含んだdata URLになり、この文字列をそのままimgタグやCSSの背景に使えます。逆にデコードタブにこうしたdata URLや純粋なBase64文字列を貼り付ければ、ダウンロードボタンで元のファイルとして保存し直せます。ファイル形式の情報がない場合は拡張子 .bin で保存されます。
よくあるエラーと対処法
Base64として使えない文字(空白や改行は自動的に無視されます)が含まれていると、どの文字が問題かを表示します。長さが4の倍数でない、または = パディングの位置が誤っている場合はパディングエラーが表示されます。標準のBase64をURLセーフでデコードしようとする(またはその逆)場合もエラーになるため、エンコードに使ったのと同じオプションでデコードしてください。
プライバシー
入力したテキストやファイルはこのブラウザの中だけで処理され、サーバーには送信されません。ページを閉じるとすべての内容が消えます。