ファイルを選択
  1. base64hub
  2. その他の基数

Base32、Base58、Base85 などの基数変換

30 種類以上の形式のどれかで文字列を貼り付けると、変換ツールがその形式を推定し、バイト列を選んだ形式でエンコードし直します。ツールの下では、各エンコーディングの比較と使い分けを説明しています。

無料 登録不要・制限なし ローカル アップロードなし 更新日 2026/10/27
HEX16進数を Base64 に変換16進ダンプを Base64 に HEXBase64 → Hex生のバイト列を確認 01Base64 → 2進数すべてのビットを表示 012進数 → Base640 と 1 から Base64 へ [ ]Base64 → バイト配列C、Java、Python、Go、C#、JS 用 [ ]バイト配列 → Base64どの言語のバイト列も貼り付け可 123Base64 → 10進数バイトを 10進数で表示 12310進数 → Base64バイト値から Base64 へ 32Base32RFC 4648、hex、Crockford、z-base-32 32Base32 デコーダーBase32 をテキストやバイト列に戻す 58Base58Bitcoin、Flickr、Ripple のアルファベット 58Base58 デコーダーBase58 を 16進数、テキスト、Base64 に 58Base58Checkバージョンバイトとチェックサム付き 58Base64 → Base58鍵やハッシュを再エンコード 58Base58 を Base64 にSolana と IPFS の鍵を Base64 に 32Base64 → Base32TOTP アプリ用にシークレットを変換 32Base32 を Base64 にBase32 のシークレットを Base64 に 62Base62短い ID と URL 36Base36数字と小文字の英字 85Base85 / Ascii85Adobe、Z85、RFC 1924、git Z85Z85ZeroMQ の Base85 91Base91最も密な印字可能エンコーディング 45Base45RFC 9285、QR コード向け 16Base16(16進数)RFC 4648 の Base16 UUuuencodeUnix の古典的なバイナリ・テキスト変換 XXxxencodeより安全なアルファベットの uuencode HEX16進数をテキストに変換16進数のバイト列を読めるテキストに HEXテキストを16進数にどんなテキストも16進数のバイト列に 012進数 → テキスト0 と 1 を読めるテキストに 01テキストを2進数にどんなテキストも 8 ビットの2進数に
入力 0バイト 0 B出力 0

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

任意の 2 つのエンコーディング間で変換する手順

  1. 文字列を入力欄に貼り付けます。変換元 が 自動検出 のときは、ツールが推定した形式がステータス行に「検出:Base58 · 違う場合は次の形式で読む:[Base64] …」のように表示されます。
  2. 推定が間違っていたら、「違う場合は次の形式で読む」のボタンのどれかをクリックするか、変換元 を自分で設定します。
  3. 変換先 で出力の形式を選びます。形式は、テキスト、Base64、バイト・数値、Base32、多倍長整数の基数、Base85・Base91・Base45、メール・URL・レガシーのグループに分かれています。
  4. 各形式のオプションはそれぞれの欄の下に表示されます。たとえば Base58 と Base62 には アルファベット、Base32 と Base64 には パディング(=) があります。
  5. ⇄ 入れ替え を押すと、出力が入力に移り、2 つの形式が入れ替わります。結果は 出力をコピー と ダウンロード で取り出せ、バイトを保存 でデコードしたバイト列をファイルとしてダウンロードできます。

どの変換も生のバイト列を経由します。入力をデコードし、そのバイト列を再びエンコードします。ツールの下の バイト のカウンターにはその数が表示され、鍵やハッシュが欠けていないかを確かめる最も手早い方法になることがよくあります。上に並んでいる単機能のページは、この同じ変換ツールを形式を設定済みの状態で開きます。

エンコーディングの比較

エンコーディング文字数出力サイズオーバーヘッド主な用途
Hex / Base16161 バイトあたり 2 文字100%ハッシュ、デバッグ、バイトダンプ
Base32325 バイトあたり 8 文字60%TOTP のシークレット、onion アドレス、大文字小文字を区別しない ID
Base36361 バイトあたり約 1.55 文字約 55%大文字小文字を区別しない短い ID や数値
Base45452 バイトあたり 3 文字50%QR コード(EU のデジタル COVID 証明書)
Base58581 バイトあたり約 1.37 文字約 37%Bitcoin、Solana、IPFS
Base62621 バイトあたり約 1.34 文字約 34%短縮 URL や ID
Base64643 バイトあたり 4 文字33%メール、JSON、data URI、JWT など、ほぼあらゆる場面
Ascii85 / Z85854 バイトあたり 5 文字25%PDF、PostScript、Git、ZeroMQ の鍵
basE91911 バイトあたり約 1.23 文字14〜23%印字可能な ASCII にデータを詰め込む
Uuencode / xxencode643 バイトあたり 4 文字と行の枠組み約 38%昔のメールや Usenet の添付ファイル

オーバーヘッドはランダムなデータの場合の値で、多倍長整数の基数では値によって 1〜2 文字変わります。Base45 はここでは無駄が多く見えますが、QR コードの英数字モードでは 45 文字がそれぞれ 5.5 ビットで済むため、約 3% にまで近づきます。

1 つの入力で比べると、5 バイトの文字列 Hello はそれぞれ次のようになります。

HexBase32Base36Base45Base58Base62Base64Ascii85basE91
48656c6c6fJBSWY3DP3yud78mn%69 VDL29Ajdvzr5TP3P3vSGVsbG8=87cURDZ>OwJh>A

基数エンコーディングの 3 つの作り方

エンコーディングは 3 つのグループに分かれ、どのグループかでその振る舞いのほとんどが説明できます。

ビットグループ型:16進数、Base32、Base64、uuencode、xxencode。アルファベットの文字数が 2 のべき乗なので、1 文字が固定のビット数(4、5、6 ビット)を運びます。エンコードは高速で、ストリームとして処理でき、出力の長さは入力の長さだけで決まります。

固定ブロック型:Base45(2 バイトを 3 文字に)と Base85 系(4 バイトを 5 文字に)。アルファベットの文字数が 2 のべき乗ではないため、小さなブロックを数値として変換します。こちらも高速でストリーム処理でき、長さはやはり入力サイズで決まります。

多倍長整数型:Base36、Base58、Base62。入力全体を 1 つの数とみなし、新しい基数で書きます。アルファベットの文字数は何でもよく、出力にパディングもありませんが、どのバイトもすべての文字に影響し、先頭のゼロバイトには特別な扱いが必要で、コストはサイズの 2 乗に比例して増えます。この変換ツールは先頭のゼロを先頭のゼロの桁として保持し、これらの基数の入力を 64 KB までに制限しています。

basE91 はグループの中間に位置します。13 ビットまたは 14 ビットずつ読むため、長さが内容にわずかに左右されます。

どのエンコーディングを選ぶか

  • プログラム同士のやり取り:Base64、URL やトークンの中なら Base64URL です。どの言語にも組み込まれていて、これほど広く通じるものはほかにありません。
  • 人が読む、入力する、読み上げる値:Base32(できれば Crockford 版)か Base36 です。どちらも大文字と小文字を区別せず、Crockford 版は紛らわしい文字も避けています。
  • URL 内の短い不透明な ID:英数字だけで最も短くしたいなら Base62、人が手で書き写す可能性があるなら 0、O、I、l を除いた Base58 です。
  • QR コード:Base45 と QR の英数字モードの組み合わせです。
  • 1 バイトも無駄にできず、通信路がプレーンな ASCII:固定ブロックなら Ascii85 か Z85、さらに数パーセント削るなら basE91 です。
  • バイト列の調査:16進数です。サイズは 2 倍になりますが、どのバイトも読める 2 文字になります。
  • レガシーシステムが要求する場合:uuencode か xxencode です。新しく使うものではありません。

Base64 と比べたトレードオフは、16進数、Base32、Base58、Base85 の比較 でさらに詳しく説明しています。

よくある質問

バイナリデータを最もコンパクトに表せるテキストエンコーディングは?

一般的なものの中では basE91(ランダムなデータでオーバーヘッド約 23%)が最も小さく、次が Base85 系(25%)、その次が Base64(33%)です。よりコンパクトなエンコーディングは JSON、HTML、シェルでエスケープが必要な記号を使うので、結局 Base64 のほうが得策になることがよくあります。

URL に最適なエンコーディングはどれですか?

機械が生成するトークンなら、短く標準化されている Base64URL です。英数字だけにしたいなら Base62 か Base58、大文字と小文字が変わっても壊れてはいけないなら Base32 か Base36 を使います。Base45 と Base85 にはパーセントエンコードが必要な文字が含まれます。

Base58、Base62、Base36 の出力の長さが一定しないのはなぜですか?

入力を 1 つの大きな数として扱うため、長さがバイト数だけでなくその値にも左右されるからです。Base64、Base32、16進数は固定のビットグループを対応させるので、同じバイト数なら常に同じ長さになります。

自動検出はどうやって文字列の形式を判断していますか?

入力を各形式のルールと照らし合わせます。最も特徴的なもの(<~ や begin 644 のような区切り)から最も一般的なものへと順に調べ、最初に一致した形式でデコードします。短い文字列は複数の形式で有効なことがあるので、「違う場合は次の形式で読む」のボタンで別の読み方を選べます。

これらのエンコーディングでデータは保護されますか?

いいえ。どれも鍵なしで誰でも元に戻せます。バイト列を印字可能にするだけです。エンコードと暗号化の違い をご覧ください。