Base64 エンコーダー / デコーダー

テキストやファイルを Base64 にエンコード/デコード。標準・URLセーフのアルファベット、パディング、76文字折り返し、画像プレビューに対応。ブラウザ内で処理します。

入力内容とファイルはブラウザ内に留まります

エンコードするテキストを入力するか、デコードする Base64 を貼り付けてください(下にファイルをドロップすることもできます)。

ここにファイルをドラッグ&ドロップ

ファイルを選択した場合、テキスト入力の代わりに使用されます。

デコードオプション

エンコードまたはデコードの結果がここに表示されます。

このページの内容

テキストや任意のファイルを、どこにもアップロードせずに Base64 へ変換し、元に戻せます。処理は Rust からコンパイルした WebAssembly モジュールがブラウザ内で行い、デコードした画像はプレビュー表示、バイナリは適切な拡張子でダウンロードできます。

詳細な機能

テキストはまず選択した文字セット(UTF-8、UTF-16LE、UTF-16BE、ASCII、ISO-8859-1)でバイト列に変換され、RFC 4648 の標準アルファベット(+ と /)か、JWT や URL パラメーターで使われる URL セーフ アルファベット(- と _)でエンコードされます。= によるパディングは必須・オプション・なしを選べ、MIME メールのように 76 文字ごとに改行することもできます。

デコード時には得られたバイト列を判定します。読めるテキストは出力欄に表示し、PNG、JPEG、GIF、WebP、BMP、ICO、TIFF、SVG の画像はピクセルサイズ付きでプレビュー、PDF、ZIP、GZIP、MP3、MP4、実行ファイルはシグネチャで識別します。テキスト以外は ダウンロード で decoded.png のような適切な拡張子で保存できます。

ファイルは選択するか、ページにドラッグ&ドロップします。ファイルを選択している間はテキスト欄は使われません。読み込みは Web Worker で 1 MiB ずつ行われ、進捗バーと キャンセル ボタンがありますが、ファイル全体をメモリに保持するため、実際の上限は端末のメモリ量です。非常に長い結果は出力欄にプレビューのみ表示され、全体は ダウンロード で保存します。

実用例

テキストを Base64 に: Hello, World! は SGVsbG8sIFdvcmxkIQ== に、UTF-8 の Привет は 0J/RgNC40LLQtdGC(入力 12 バイト、出力 16 文字)になります。

URL セーフ・パディングなし: <<???>> は標準アルファベットでは PDw/Pz8+Pg==、URLセーフ (-_) と パディングなし では PDw_Pz8-Pg となり、JWT の各セグメントと同じ形式です。

パディングのない入力: 既定の 必須 では SGk のデコードは失敗します。パディング を オプション にすると Hi になります。

Base64 から画像へ: PNG の Base64(iVBORw0KGgo で始まる)を貼り付けると、1×1 px などのサイズとともに画像が表示され、ダウンロード で decoded.png として保存できます。

このツールの使い方

  1. テキストを入力するかファイルを選ぶ

    入力 (テキスト) にテキストを入力または貼り付けるか、ファイルをページにドロップするか ファイルを選択 をクリックします。ファイルを選ぶとテキストより優先されます。

  2. オプションを設定する

    テキスト文字セット(通常は UTF-8)、アルファベット(標準 (+/) または URLセーフ (-_))、パディング を選び、MIME メール用なら 行の折り返し を 76文字 にします。

  3. エンコードまたはデコードする

    エンコード で Base64 を生成し、デコード でテキスト・画像プレビュー・バイナリファイルに戻します。エラー時は、不正な文字やパディングの誤りなど原因が表示されます。

  4. 結果をコピーまたはダウンロードする

    コピー で出力をクリップボードに、ダウンロード でファイルに保存します。入れ替え は出力を入力欄に戻し、往復変換の確認に使えます。

ヒントとベストプラクティス

  • Base64 はデータを約 33% 大きくします(3 バイトが 4 文字になる)。暗号化ではなくエンコードなので、誰でもデコードできます。
  • data URI はデコード前に data:image/png;base64, の接頭辞を取り除いてください。デコーダーは Base64 部分だけを受け付けます。
  • JWT のヘッダーとペイロードはパディングなしの URL セーフ アルファベットです。URLセーフ (-_) と オプション のパディングを選ぶと、eyJhbGciOiJIUzI1NiJ9 は {"alg":"HS256"} になります。
  • メールや PEM ファイルの改行入り Base64 をデコードするには 空白/改行を許可 をオンのままに。1 行のきれいな入力か確認したいときはオフにします。
  • 文字セットは重要です。é は UTF-8 では w6k=、ISO-8859-1 では 6Q== なので、エンコード時と同じ文字セットでデコードしてください。
  • 一度開いたページは、ネットワークがなくても動作します。