テキスト入力
Base64 にエンコードするテキストを入力または貼り付けてください。
出力
上にテキストを入力または貼り付けると、ここに結果が表示されます。
Base64 のエンコード・デコードをブラウザだけで
Base64 は任意のバイト列を ASCII 文字だけの文字列に変換する仕組みで、data URI やメール添付、API のペイロード、設定ファイルなどでよく使われます。このツールは両方向に対応しています。テキストを入力・貼り付けすれば Base64 にエンコードし、Base64 文字列を貼り付ければ元のテキストやファイルに戻します。
テキストのエンコードは正しく UTF-8 バイト列を経由するため、日本語や絵文字を含むあらゆる Unicode 文字が正確に往復します。単純な btoa() では Latin-1 の範囲外で壊れてしまいますが、このツールはそうなりません。ファイルのエンコードはチャンク単位で読み込むため、大きなファイルでもブラウザの上限に引っかかりません。デコード結果が有効な UTF-8 テキストでない場合は、文字化けした文字列を表示する代わりに、生バイトのダウンロードを提示します。
テキストやファイルが端末から出ない理由
ここでのプライバシーは約束ではなく仕組みです。送信先のサーバーが存在しないため、アップロードという工程がそもそもありません。Base64 に変換する対象には API トークンや証明書、設定ファイル、個人的な文書など、機微な内容が含まれることも多いため、これは重要です。
- エンコード・デコードはすべてブラウザ内で実行されます。
- ページは静的ファイルとして配信され、入力内容を伴うリクエストは送信しません。
- ソースは公開されており、誰でも読めます(MIT)。
- オフラインで動作します。これは、データが端末から出ないからこそ可能です。
ご自分で確かめるなら、エンコードやデコード中にブラウザの Network パネルを開いてください。データを運ぶリクエストは出ていません。 ソースを読む。
使い方
-
テキストかファイルを選ぶ
テキストモードは入力・貼り付けた文字列を、ファイルモードは選択・ドロップしたファイルを扱います。
-
エンコードかデコードを選ぶ
Base64 らしい文字列を貼り付けると自動でデコードに切り替わります。手動でいつでも切り替え可能です。
-
入力する
テキストを入力・貼り付けるか、ファイルを選択・ドロップします。どんな種類のファイルでもエンコードできます。
-
コピーまたはダウンロード
Base64(またはデータ URI)をクリップボードにコピーするか、ダウンロードします。ファイルのデコードでは、元のファイル名が Base64 文字列自体には保存されていないため、先にファイル名を尋ねます。
よくある質問
テキストやファイルはどこかにアップロードされますか?
いいえ。エンコード・デコードはすべてブラウザ内で完結します。サーバー側の処理が無いため、データが端末の外に出る経路がありません。ソースは公開されており、ブラウザの Network パネルで確認できます。
ブラウザの btoa() をそのまま使えばいいのでは?
btoa() は Latin-1(文字コード 0〜255)しか扱えず、日本語や絵文字などほとんどの Unicode 文字ではエラーになります。このツールは実際の UTF-8 バイト列をエンコードするため、どんなテキストも正確に往復します。デコードも Latin-1 を前提とせず、UTF-8 デコーダーを通して逆変換します。
有効な UTF-8 テキストではない Base64 をデコードするとどうなりますか?
置換文字だらけの文字列を表示する(よくある失敗パターン)代わりに、デコードしたバイト列が有効な UTF-8 でないことを検知し、生バイトのダウンロードとして提示します。Base64 が実はテキストではなくバイナリファイルを表している場合に役立ちます。
大きなファイルもエンコードできますか?
ページの応答性を保つために設けたソフトな上限を除けば、固定の制限はありません。ファイルはチャンク単位で変換されるため、単純な一括変換で大きな入力に対して起きがちなクラッシュを避けられます。非常に大きなファイルは、すべて端末内で処理するため多少時間がかかることがあります。
データ URI とは何ですか?いつ使いますか?
データ URI は data:image/png;base64,... のような形式で、ファイルの Base64 データを文字列に直接埋め込み、URL の代わりに使えるようにしたものです。CSS や HTML にインラインで埋め込む場合などに使われます。ファイルモードでは、Base64 単体とデータ URI のどちらでも表示できます。
オフラインでも使えますか?
はい。PWA なので、一度アクセスすればキャッシュされ、ネット接続が無くてもエンコード・デコードできます。ホーム画面に追加して、アプリのように使うこともできます。