Free exact browser converter
Base58 Encoder
Encode text or hex bytes using the Bitcoin Base58 alphabet. Preserve leading zero bytes as 1 characters. No Base58Check checksum is added.
Interactive tool
Base58 Encoder
Ready
Choose a clear output representation.
Detailed conversion guide
How Base58 Encoder Works
Base58 interprets the bytes as an unsigned big-endian value, converts it into 58 alphabet symbols, and restores one leading 1 for every leading zero byte.
The Bitcoin alphabet omits 0, O, I and lowercase l. Text input is first encoded as UTF-8. Hex input 000001 produces 112 rather than discarding the first two zero bytes.
| Input | Output | Meaning |
|---|---|---|
Hello | 9Ajdvzr | Default example |
hello | Cn8eVZg | Boundary example |
JavaScript Example
Runnable example for the default sample. The tool also validates its full input contract.
const bytes = new TextEncoder().encode(input);
const alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
let n=0n,encoded="",zeros=0;
while(zeros<bytes.length && bytes[zeros]===0) zeros++;
for(const b of bytes) n=n*256n+BigInt(b);
while(n){encoded=alphabet[Number(n%58n)]+encoded;n/=58n;}
encoded="1".repeat(zeros)+encoded;Formats, Boundaries and Limitations
This is plain Base58, with no network prefix or checksum added. It is not a Bitcoin address generator and does not prove that an address is valid or belongs to anyone.
Inputs are limited to 4 KiB to keep browser conversion responsive. Hex mode requires complete byte pairs and preserves byte order.
Related converters
More Text and Encoding Tools
Choose the tool that matches your text or byte workflow.