Base64 エンコード

テキストを下に貼り付けてエンコードをクリックするとBase64に変換されます。UTF-8テキストに対応。すべての処理はブラウザ内でローカルに行われます。

コピーしました!

Base64エンコーディングとは?

Base64はバイナリデータをASCII文字列として表現するバイナリ-テキスト変換方式です。HTML/CSSへの画像埋め込み、URLでのデータ送信、メール添付ファイルのエンコード(MIME)、JSONやXMLでの複雑なデータ保存などに広く使用されています。

エンコーディングには64種類の文字が使用されます:A-Za-z0-9+/、およびパディング用の=

このページはブラウザ内蔵の Base64 関数でエンコードするため、結果は標準的なライブラリと完全に同じです。標準の文字セット、等号によるパディング、1 行のまま。アップロードも保存も行いません。

デコードできない不具合を追っていますか。

デコードできないペイロードは、たいてい原因ではなく症状です。経路のどこかでの二重エンコード、宣言せず仮定された文字セット、誰の想定とも少しずれたバイト列に対して署名されたトークン。私たちはまさにこうした領域、つまり連携やAPI、そしてその間でデータを受け渡すシステムを手がけています。

不具合の内容を相談する

よくある質問

Base64 エンコードは何に使いますか。
テキストしか確実に運べない経路にバイトを通すために存在します。メールの添付、CSS や HTML の data URI、ファイルを収める JSON のフィールド、PEM 形式の鍵と証明書、HTTP ベーシック認証のヘッダーは、いずれもこれを使っています。圧縮でも暗号化でもなく、ほぼどんな転送でも壊れない 64 種類の文字で任意のバイトを綴る方法です。
なぜ Base64 は元より三割ほど大きくなるのですか。
3 バイトごとに 4 文字を費やすからです。3 バイトは 24 ビットで、Base64 はこれを 6 ビットずつ 4 組に分け、それぞれを 1 文字にします。4 対 3 という固定の比率、つまり約 33 パーセント増で、パディングや改行を加える前の数字です。
Base64 は暗号化の一種ですか。
いいえ。暗号化だと思い込むことが、これにまつわる最も多い誤解です。鍵もなければ秘密もなく、Base64 の文字列は誰でも一手で復号できます。このページでも同じです。ざっと見ただけの目や、生バイトで詰まるソフトウェアからデータを隠すだけで、それ以上のことはしません。内容を守る必要があるなら暗号化し、経路がテキストを求めるなら暗号文のほうを Base64 にしてください。
標準の Base64 と URL セーフな Base64 は何が違いますか。
違いは 2 文字です。標準の Base64 は値 62 と 63 にプラス記号とスラッシュを使いますが、どちらも URL の中では既に意味を持つため、そこではパーセントエンコードされます。URL セーフな変種はこれをハイフンとアンダースコアに置き換えます。このページが出力するのは標準の文字セットなので、URL セーフな形が必要ならその 2 文字をあとから置き換えてください。
CSS に画像を Base64 で埋め込むべきですか。
ごく小さな画像なら、ときには有効です。埋め込みはリクエストを 1 つ減らします。かつてはこれが大きな意味を持ちました。しかし画像は約三割大きくなり、それを載せているファイルとは別にキャッシュできなくなり、塊全体が解析されるまでそのスタイルシートを待たせます。目安としては数百バイトのアイコンなら見合い、数キロバイトを超えるとまず見合いません。HTTP/2 や HTTP/3 では、節約できるリクエストの価値は以前よりずっと小さくなっています。