Base64エンコーダー・デコーダー
ブラウザ上でテキストをBase64にエンコード、またはBase64をテキストにデコードします。入力したデータがデバイスから外部に送信されることはありません。
結果
0 文字
使い方
Base64は、バイナリデータを印刷可能なASCIIテキストとして表現するエンコード方式で、各文字が6ビットのデータを担う64種類の文字を使用します。プレーンテキストやバイナリデータをメール、URL、データURIなどで安全に扱える形式に変換し、そのBase64を元のデータに正確に戻すこともできます。
- エンコードまたはデコードを選択
エンコードはテキストをBase64に変換します。デコードはBase64をテキストに戻します。
- 内容を入力または貼り付け
入力すると自動的に結果が更新され、オフラインでも完全に動作します。
- 結果をコピーまたはダウンロード
文字列をURL内で使用する場合は、URLセーフオプションを使用してください。
Base64の用途
Base64は暗号化ではありません。Base64文字列は誰でもすぐにデコード可能であり、内容を隠蔽したりセキュリティを強化したりするものではありません。その唯一の目的は互換性です。任意のバイト列をプレーンなASCIIテキストとして表現することで、メール本文、JSONフィールド、URLクエリ文字列など、テキストのみを安全に扱うシステムでもデータを正しく伝送できます。
標準Base64とURLセーフBase64
標準のBase64では64文字を使用します。A-Z、a-z、0-9、プラス(+)、スラッシュ(/)に加え、パディングとして等号(=)を用います。+と/はURL内で特別な意味を持つため、URLセーフな変種ではこれらをハイフン(-)とアンダースコア(_)に置き換え、通常はパディングを省略します。エンコード後のテキストをURLやファイル名に直接使用する場合は、上記のスイッチをオンにしてください。
出力が約1/3長くなる理由
Base64の各文字は6ビットをエンコードしますが、入力の各バイトは8ビットです。エンコード時は3バイト(24ビット)を4つのBase64文字にグループ化するため、出力は入力より約33%大きくなります。例えば、「Hello, World!」(13バイト)をエンコードすると「SGVsbG8sIFdvcmxkIQ==」(20文字)になります。
テキストはUTF-8として読み取られます
入出力のテキストはUTF-8として読み書きされるため、アクセント付き文字、韓国語、絵文字も正しく往復変換できます。デコードに失敗した場合は、貼り付けた文字列が有効なBase64ではありません。文字の欠落、不要な改行、余分なスペースがないか確認してください。
よくある質問
Base64エンコードは何に使われますか?
Base64はバイナリやテキストデータをASCIIセーフな文字列に変換し、特殊文字の処理による破損なしにメール、URL、データURI、APIに埋め込めるようにします。CSSへの画像埋め込み(data:image/png;base64,...)、メール添付ファイルのエンコード、JWTなどのJSONトークンの送信によく使用されます。
テキストをBase64にエンコードするにはどうすればよいですか?
「Base64エンコード」を選択し、テキストボックスに任意のテキストを入力または貼り付けてください。入力するとBase64の結果がリアルタイムで表示されます。Base64の各文字は6ビットを表すため、出力は元のテキストより約33%長くなります。入力と結果の両方の文字数が表示されます。
Base64文字列をデコードするにはどうすればよいですか?
「Base64デコード」を選択し、エンコードされたテキストをボックスに貼り付けてください。結果として元のプレーンテキストが表示されます。文字列の長さが正しくない、不正な文字が含まれているなど、無効なBase64の場合、ツールは文字化けした出力ではなくエラーメッセージを表示します。
Base64は暗号化と同じですか?
いいえ。Base64はエンコード方式であり、暗号化ではありません。Base64文字列はデコーダーがあれば誰でも即座にデコードできるため、データを隠蔽するものではありません。その目的はセキュリティではなく、互換性のためにバイナリデータを印刷可能なASCIIテキストとして表現することです。暗号化にはAESなどのアルゴリズムが必要であり、一方向ハッシュにはSHA-256などが必要です。
標準Base64とURLセーフBase64の違いは何ですか?
標準Base64はプラス(+)やスラッシュ(/)を含む64文字を使用し、パディングはイコール記号(=)で行われます。URLセーフBase64は+を-に、/を_に置き換えるため、エスケープなしでURLやファイル名内に文字列を含めることができます。このページのURLセーフスイッチをオンにすると、そのバリアントを生成または読み取ることができます。