🌐 JA

🔐 Base64変換ツール

テキストやファイルをBase64にエンコードしたり、Base64文字列をデコードします。画像の埋め込み、API通信、データ転送に便利です。

ガイド

詳しく見る

01

1. Base64エンコードとは?

Base64は、バイナリデータをASCIIテキスト文字列に変換するエンコード方式です。64種類の安全な文字(A-Z、a-z、0-9、+、/)のみを使用して、あらゆるバイナリデータを表現します。メールの添付ファイル、JSONデータ、URLなど、テキストのみを許可する環境でバイナリデータを送信する際に使われます。3バイトのデータを4バイトの文字に変換するため、元のデータより約33%サイズが増加します。パディングには=文字を使用し、RFC 4648標準で定義されています。

02

2. Base64を使うタイミング

Base64はさまざまな場面で活用されます。ウェブ開発では、小さな画像をHTML/CSSに直接埋め込むことでHTTPリクエストを削減します。メールシステム(MIME)では、添付ファイルをテキストに変換して送信します。JSON APIでは、バイナリデータを安全に転送する際に使用します。データベースに画像やファイルを保存する場合にも活用されます。URLパラメータで複雑なデータを渡したり、認証トークン(JWT)でもBase64エンコードが使われています。

03

3. ウェブ開発におけるBase64の活用

Base64はウェブ開発で非常に役立ちます。CSSのData URIを通じて画像を直接埋め込むと、別途HTTPリクエストなしで読み込み速度を改善できます。例:background-image: url(data:image/png;base64,iVBORw0KG...)。ただし、10KB以下の小さな画像にのみ推奨され、大きなファイルはキャッシュされないため、かえって遅くなります。favicon、ロゴ、アイコンなどの小さな画像に適しています。HTML5 Canvasで画像を生成した後、toDataURL()でBase64に変換し、ダウンロードやアップロードに活用します。

04

4. エンコードと暗号化の違い

Base64はエンコードであり、暗号化ではありません。エンコードはデータを別の形式に変換するもので、誰でも簡単に元のデータに戻せます。セキュリティ目的ではなく、互換性と転送の安定性のための方法です。一方、暗号化はキーがなければ復号できないようにデータを保護します。Base64でエンコードされたデータにはセキュリティがまったくないため、機密情報(パスワード、個人情報)をBase64だけで変換してはいけません。セキュリティが必要な場合は、まず暗号化(AES、RSA)してからBase64でエンコードしてください。

05

5. 画像埋め込みの最適化

Base64による画像埋め込みには長所と短所があります。長所はHTTPリクエストの削減により初期読み込みが速くなり、ファイル管理が簡単になることです。短所はサイズが33%増加し、ブラウザのキャッシュが効かず、CSSやHTMLが重くなることです。したがって、ロゴ、アイコン、小さな背景画像(5〜10KB以下)にのみ使用してください。大きな画像は別ファイルとして提供し、CDNを活用するのがよいでしょう。繰り返し使用される画像はファイルとして提供し、キャッシュ効果を活かしましょう。

06

6. APIとデータ転送におけるBase64

REST APIでは、Base64はファイルのアップロード/ダウンロードに頻繁に使用されます。JSONはテキスト形式のためバイナリデータを直接含められませんが、Base64に変換すればJSON内に画像や文書を送信できます。例:{"image": "data:image/png;base64,iVBORw..."}。ただし、大きなファイルにはmultipart/form-dataを使用する方が効率的です。GraphQLやWebSocketでもバイナリデータの送信にBase64を活用します。JWTトークンのペイロードもBase64エンコードされており、デコードすると内容を確認できます。