Base64 エンコード/デコード:テキスト・画像 Data URI・JWT ペイロード
ブラウザで UTF-8 テキストや画像を Base64 に変換し、Base64 をテキストへ戻したり画像としてプレビューしたりできます。中国語・絵文字・改行を含む入力に対応しますが、標準 Base64 のみです。URL-safe 形式や生の JWT セグメントは先に変換が必要で、バイナリは UTF-8 としてデコードされて文字化けします。
この Base64 ツールの対応範囲と限界
UTF-8 テキストを双方向変換
入力時にすぐ変換します。TextEncoder で UTF-8 バイトにしてから Base64 化するため、中国語・日本語・絵文字も正しく出力され、素の btoa が非 Latin-1 で例外を出す問題は起きません。
画像は Data URI に
Image に切り替えてファイルを選ぶと data:image/...;base64,... として読み込まれます。その Data URI を Base64 欄に貼ればインライン表示され、無効な内容は壊れた画像ではなく代替メッセージになります。
標準 Base64 のみ、URL-safe 非対応
- と _ は拒否されるため、JWT ペイロードや URL-safe トークンは + / に置換が必要です。= パディングの欠落は許容され、空白・タブ・改行は無視されます。
デコードは UTF-8 前提
バイナリの Base64 は UTF-8 テキストとしてデコードされ、エラーではなく置換文字になります。きれいに往復できるのは UTF-8 テキストだけで、画像などのバイト列はこの方法では復元できません。
ローカル実行、ただし巨大入力で失敗
何もアップロードされず、1 キー入力ごとに同期変換します。サイズ制限はなく、非常に長いテキストでは全バイトを一度に btoa へ展開するためコールスタック超過が起きることがあります。
Base64 のよくある質問
URL-safe Base64(- と _)に対応していますか?
非対応です。標準の + / のみで、- や _ は InvalidCharacterError になります。- を +、_ を / に置換し、4 の倍数までパディングしてから貼ってください。
JWT のペイロードをここでデコードできますか?
変換後に可能です。ペイロードはパディングなしの URL-safe Base64 で、このページはトークンを分割したり不足文字を補ったりしません。書き換えたセグメントを貼ってください。結果はプレーンテキストで、JSON として解析されません。
ファイルと Base64 の相互変換はできますか?
画像のみで、ファイル方向はアップロードだけです。画像を選ぶと Data URI が得られます。テキストファイルの選択口はなく、デコード結果もダウンロード可能なファイルにはなりません。
中国語や絵文字が使えるのに btoa は普段エラーになるのはなぜ?
TextEncoder で UTF-8 バイトに変換してから btoa を呼び、TextDecoder で戻しています。中文 を素の btoa に渡すと InvalidCharacterError になりますが、このページでは起きません。
バイナリ(非 UTF-8)の Base64 はどうなりますか?
UTF-8 としてデコードされ、任意のバイトは置換文字に変わります。失敗もエラー表示もありません。バイトを保つには画像プレビューか専用のバイナリデコーダを使ってください。
サイズ制限はありますか?アップロードされますか?
アップロードはなく、明示的な上限もありません。入力ごとに同期変換するため、非常に大きな入力で Maximum call stack size exceeded が発生し、数 MB ではタブが固まることがあります。
パディング・空白・不正入力はどう扱われますか?
= の欠落は許容され、atob は空白・タブ・改行を無視します。長さが % 4 == 1 や、アルファベット外の文字があると InvalidCharacterError になり、画面にはエラーが表示されません。

