Base64デコード

Base64をデコードして読めるテキストに戻します。標準またはURLセーフのアルファベットに対応し、すべてブラウザ内で動作します。

すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。

Base64文字列を貼り付けて、本当の中身を読み取ります。Authorizationヘッダー、JWTのセグメント、data URI、誰かがフォームを通すためにエンコードした設定値などです。

仕組み

文字列をバイト列にデコードし、それをUTF-8として読みます。改行とスペースは先に無視されるので、メールやPEMファイルのように64文字や76文字で折り返されたBase64も、整えずにそのまま貼り付けられます。

それ以外の点ではデコードは厳格です。アルファベットにない文字やありえない長さは、黙って読み飛ばさずに指摘されます。黙って部分的にデコードしてしまうと、途中で切れたトークンに気づけなくなるからです。

例

ケース 入力 結果
Authorizationヘッダーの値 YWxhZGRpbjpvcGVuc2VzYW1l aladdin:opensesame
JWTのペイロード(URLセーフのアルファベットを使用) eyJzdWIiOiIxMjMifQ {"sub":"123"}

よくある質問

JWTのセグメントがデコードできないのはなぜですか?

JSON Web TokenはURLセーフのアルファベットを使い、パディングを省くので、アルファベットの設定を切り替えてください。また、セグメントは1つずつデコードしてください。JWTはドットでつないだ3つのBase64文字列であり、全体はBase64ではありません。

「テキストではなくバイナリデータ」と表示されます。

文字列は正しくデコードされましたが、そのバイト列がUTF-8テキストではありません。画像、圧縮されたペイロード、暗号化されたデータなどです。文字として表示すると壊れてしまうので、何も表示しません。

値はどこかに送信されますか?

いいえ。デコードはページ内で行われます。ここではそれがほかのどこよりも重要です。デコーダーに貼り付けられるBase64文字列は、資格情報であることが非常に多いからです。

知っておきたいこと

  • すべてブラウザ内で処理されます。貼り付けた内容はアップロードも記録も保存もされません。

出典

開発者向けのすべてのツール