菊丸ツゥルズ

Base64 エンコード/デコード

テキストをBase64へ変換

入力した文字列はサーバーへ送信せず、ブラウザ内でUTF-8として変換します。

入力して「エンコード」または「デコード」を押してください。
入力文字数-
結果文字数-
形式-

使い方

JWTやAPI設定値などの確認に使えます。機密情報を貼り付ける場合も、処理はこのページ内のJavaScriptだけで完結します。

Base64エンコード/デコードは、テキストをBase64形式へ変換したり、Base64文字列を元のテキストに戻したりするツールです。URLやファイル名にそのまま使えるようにスラッシュやプラス記号を置き換える「URLセーフ形式」にも対応しています。Basic認証のヘッダー値を作成したい開発者、APIから返ってきたBase64文字列の中身を確認したいエンジニア、画像のdata URIやJWTのペイロード部分をデコードして内容を確認したい人などに向いています。日本語を含むテキストもUTF-8として正しく扱われ、変換はすべてブラウザ内で完結し外部に送信されません。

使い方・サンプル・結果例・注意点

使い方

入力欄にテキストまたはBase64文字列を貼り付け、「エンコード」または「デコード」ボタンを押すと結果欄に変換結果が表示されます。

サンプル入力

菊丸ツゥルズ Base64 sample

結果例

「エンコード」を押すと、UTF-8でエンコードされたBase64文字列(日本語部分を含む)が結果欄に表示されます。「URLセーフ形式」をオンにすると、結果に含まれる + は -、/ は _ に置き換えられ、末尾の = (パディング)が省略された形式で出力されるため、URLのパスやクエリパラメータにそのまま含めても問題ない文字列になります。

注意点

「デコード」を実行する際、入力文字列がBase64として不正な形式(使用できない文字が含まれる、長さが正しくないなど)の場合はエラーになります。URLセーフ形式でエンコードされた文字列(-や_を含む、または=が省略されている)をデコードする場合は、「URLセーフ形式」のチェックを入れてからデコードしてください。チェックの有無が一致していないと正しくデコードできません。

こんなときに使えます

  • バックエンド開発者が、APIのBasic認証ヘッダーに使う「ユーザー名:パスワード」の文字列をBase64エンコードして Authorization ヘッダーの値を作成する
  • フロントエンド開発者が、JWT(JSON Web Token)の一部やAPIレスポンスに含まれるBase64文字列をデコードして、中に埋め込まれているJSONやテキストの内容を確認する
  • 画像をdata URI形式でHTML/CSSに埋め込む際、Base64エンコードされた文字列が正しい形式になっているかを確認する
  • URLのクエリパラメータに識別子を埋め込む際、URLセーフ形式でエンコードしてスラッシュやプラス記号によるエラーを避ける
  • メールヘッダーや設定ファイルに記載されたBase64エンコード済みの値をデコードし、元のテキスト内容(日本語を含む)を確認する

よくある質問

日本語を含むテキストをエンコードしても文字化けしませんか?

文字化けしません。このツールはテキストをUTF-8のバイト列としてエンコードするため、日本語を含む文字列も正しくBase64化され、デコード時にも元の日本語に戻すことができます。

「URLセーフ形式」のチェックはどんなときに使いますか?

通常のBase64で使われる + や / という文字はURLの中で特別な意味を持つため、URLにそのまま含めると問題が起きることがあります。URLセーフ形式は + を -、/ を _ に置き換え、末尾の = も省略するため、URLのパスやパラメータに安全に含められます。受け取った文字列がURLセーフ形式かどうかわからない場合は、両方の設定でデコードを試してみてください。

「デコード」を押すとエラーになります。原因は何が考えられますか?

入力文字列にBase64として使用できない文字(空白、改行以外の記号など)が含まれている、文字列の長さが4の倍数になっていない、またはURLセーフ形式とそうでない形式の判定が入力とチェックボックスの状態で食い違っている、といった原因が考えられます。コピー時に余計な文字が混入していないかも確認してください。

末尾の = (イコール記号)はどういう意味ですか? 削除しても大丈夫ですか?

= はBase64のパディング文字で、文字列の長さを4の倍数に揃えるためのものです。通常のBase64ではそのまま残しますが、URLセーフ形式では省略されることが多く、デコード時には自動的に補完して処理されるため、URLセーフ形式のチェックを入れていれば削除されていても問題ありません。