Toolvore

Base58 Encoder and Decoder

Encode UTF-8 or hexadecimal bytes with the Bitcoin Base58 alphabet. Decode to exact hex or strict UTF-8, preserving leading zero bytes.

This tool processes its input contents in your browser instead of sending them to a processing service. Page, asset and fixed usage-measurement requests are described on the Privacy page.

Convert UTF-8 or hexadecimal bytes to raw Bitcoin-alphabet Base58 and decode Base58 to exact hex or validated UTF-8.

How to use it

  1. 1Choose the conversion that matches your source data.
  2. 2Paste the input and select Convert Base58.
  3. 3Copy the result or download the complete text file.

Example

Input
Hexadecimal bytes 00 00 01
Output
112

Each zero byte produces one leading 1. Decoding to hexadecimal returns 000001.

What happens to your data

Base58 conversion uses your tab’s memory. Optional event counts omit your source bytes and the encoded or decoded text.

Last updated November 2026

Convert bytes to Base58 using the Bitcoin alphabet, or decode Base58 back to exact hexadecimal. Choose UTF-8 when your data is text. The encoder keeps leading zero bytes, and the text decoder reports malformed UTF-8 instead of replacing bytes with a substitute character.

How it works

Base58 treats the bytes as one unsigned integer and writes it with 58 possible digits. This tool uses the Bitcoin ordering, which leaves out 0, O, I and lowercase l. One leading 1 represents each leading zero byte. Input can be UTF-8 text or complete hexadecimal bytes. In hexadecimal mode, spaces, tabs and line breaks between digits are ignored. Base58 decoding ignores surrounding whitespace and rejects spaces or other invalid characters inside the encoded value.

The decoder returns exact bytes as lowercase hexadecimal. Choose UTF-8 output only if the decoded bytes are text. A malformed UTF-8 sequence causes a validation message, so you can switch to hexadecimal and recover the bytes unchanged. The text box can visually normalize certain line endings. Copy and download use the decoded text rather than the text box’s display representation.

Base58 is an encoding, so anyone who receives it can recover the bytes. This converter uses raw Base58 and does not calculate or validate a Base58Check checksum. Other Base58 alphabets use a different character order. The limit is 4,096 underlying bytes per conversion. The result is plain text and can be copied or downloaded.

Worked example: Preserve two leading zero bytes

Input
Hexadecimal bytes 00 00 01
Result
112

Each zero byte produces one leading 1. Decoding to hexadecimal returns 000001.

Common use cases

  • Encode a short UTF-8 message with the Bitcoin Base58 alphabet.
  • Decode a test vector and verify its original hexadecimal bytes.
  • Check how a binary value with leading zero bytes round trips.
  • Distinguish a UTF-8 decoding error from an invalid Base58 character.

Frequently asked questions

What does a leading 1 mean in Base58?+

Each leading 1 corresponds to one leading zero byte. For example, 112 decodes to the hexadecimal bytes 00 00 01.

How do I decode Base58 that is not text?+

Select Base58 to hexadecimal. The hex output preserves every byte, including bytes that do not form valid UTF-8.

Is Base58Check supported?+

The tool performs raw Base58 conversion. Base58Check adds a checksum and often a version byte, which this converter does not verify or generate.

Can I use a Flickr or Ripple Base58 value?+

Choose an encoder that supports that alphabet. This tool interprets every value with the Bitcoin character order.

Is Base58 encryption?+

Base58 is reversible without a key. It changes the representation of bytes and does not provide confidentiality or authentication.