JA
マイツール

Base58エンコード・デコード

テキストや16進数をBase58に変換、またはデコードします。Bitcoin・Flickr・Rippleのアルファベットに対応し、Base58Checkで4バイトのチェックサムを付加・検証できます。

モード
Base58
2NEpo7TZRRrLZSi2U
入力のバイト数
12
出力の文字数
17
マイツール →
広告

Base58は、バイナリデータを58進数の大きな数として書き表す方式です。数字と文字を使いますが、紛らわしい0・O・I・lと、記号の+・/は使いません。そのため手で書き写しやすくURLでも安全で、Bitcoinのアドレス、IPFSのコンテンツID、Solanaの鍵に使われています。このツールは、テキストや16進数のバイト列をエンコードし、Base58をデコードし、Bitcoinで使われるBase58Checkのチェックサムを付けたり検証したりできます。

使い方

  1. エンコードかデコードかを選びます。
  2. 入力を貼り付けます。鍵やハッシュなどの生のバイト列をエンコードする場合は、「入力の形式」を16進数にします。
  3. アルファベットを選びます。Bitcoin、IPFS、Solanaでは、既定のBitcoinのアルファベットを使います。
  4. チェックサムを付けたい場合や、アドレスをデコードして検証したい場合は、Base58Checkを選びます。

計算式

value = Σ byteᵢ × 256^(n−1−i); これを58で繰り返し割り、各余り(0–57)をアルファベットの文字に対応させます。先頭の0x00バイト1つごとに、先頭の「1」が1つ付きます。

Base58Checkは、エンコードの前にSHA-256(SHA-256(data))の先頭4バイトを付け足します。デコード時には同じハッシュを再計算し、一致しない場合はデータの破損、チェックサムの規則の違い、または入力ミスを示します。ランダムな誤りが検査を通過する確率は約43億分の1です。

計算例

テキスト "Hello World!"(12バイト)は、IETFのBase58ドラフトで公開されているテストベクターの 2NEpo7TZRRrLZSi2U にエンコードされます。Bitcoinアドレスの場合、バージョンバイト00と20バイトの鍵ハッシュ 010966776006953D5567439E5E39F86A0D273BEE にチェックサム d61967f6 が付き、アドレス 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM になります。先頭の1は、00のバージョンバイトに由来します。

よくある質問

Base58とBase64の違いは何ですか?

Base64は計算が速く約2%短くなりますが、+・/・=を使い、紛らわしい文字も含みます。Base58はそれらを除いているため、ダブルクリックで文字列全体を選択でき、書き写しのミスも減ります。

Bitcoinアドレスが有効かどうか確認できますか?

Base58Checkのチェックサムが一致しても、確認できるのは4バイトのチェックサムだけです。所有権、ネットワーク、ペイロードの長さ、その値がアドレスであることさえ証明しません。bc1で始まるBech32アドレスは別のエンコードを使います。

出力が1の連続で始まるのはなぜですか?

入力の先頭にある0バイト1つごとに、アルファベットの最初の文字(Bitcoinのアルファベットでは「1」)が書かれます。バイト列を1つの数として扱っても、0が失われないようにするためです。

サーバーに何か送信されますか?

いいえ。エンコード、デコード、SHA-256はすべてブラウザ内で実行されます。ただし、自分で管理していないWebページには、秘密鍵を絶対に貼り付けないでください。

出典

最終更新:

このツールを引用する
APA

kakaoCalc. (2026, November 8). Base58エンコード・デコード. https://kakao.mobile/ja/tools/base58-encoder/

MLA

“Base58エンコード・デコード.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/base58-encoder/.

広告