Base64エンコード・デコード — オンライン変換
日本語などのUnicodeを正しく扱うBase64エンコーダー・デコーダー
ブラウザー内で処理・アップロード不要
Base64とは
Base64は、英大文字・小文字、数字、+、/ の64文字でバイトを表す方式です。メールの添付ファイル、data URL、JWTトークンなど、テキストしか通せない経路でバイナリデータを運ぶために使われます。3バイトが4文字になるので、出力は入力より約33%長くなります。
使い方
- エンコード か デコード を選びます。
- テキストまたはBase64文字列を入力欄に貼り付けると、すぐに結果が表示されます。上にはテキストのバイト数とBase64の文字数も表示されます。
- 必要なら URLセーフ をオンにして、コピー を押します。
仕組み
- エンコードの前にテキストを UTF-8 のバイトに変換します。ひらがな・漢字は1文字3バイト、ほとんどの絵文字は4バイトです。
- デコード時は空白と改行を無視し、足りない
=パディングは自動で補います。URLセーフ(-、_)と標準(+、/)のどちらの入力も受け付け、先頭のdata:…;base64,は取り除きます。 - デコードしたバイトが有効なUTF-8でない場合(画像など)は、文字化けしたテキストではなくエラーを表示します。
例
| 入力 | Base64 |
|---|---|
a |
YQ== |
こんにちは |
44GT44KT44Gr44Gh44Gv |
中文 |
5Lit5paH |
👍 |
8J+RjQ== |
よくある質問
日本語や絵文字で失敗するBase64ツールがあるのはなぜですか?
ブラウザー標準のbtoa()はLatin-1の文字しか受け付けないため、これを直接呼ぶツールは他の文字でエラーになります。このツールは先にテキストをUTF-8のバイトに変換するので、「日本語」は5pel5pys6Kqeになります。
URLセーフなBase64とは何ですか?
+と/を-と_に置き換え、末尾の=パディングを省いたものです。結果をそのままURLやJWTトークンに入れられます。
入力はどこかに保存されますか?
いいえ。処理はすべてブラウザー内で行い、サーバーには何も送信しません。