Bitcoin Address ⇄ Hash160 ⇄ Public Key Converter

Real Base58Check/Bech32 encoding, computed entirely in your browser, no private keys involved anywhere

About this tool

A Bitcoin address is a checksummed, human-readable encoding of a HASH160 value (RIPEMD-160 of the SHA-256 hash of a public key). This tool performs those real encode/decode/hash operations, Base58Check for legacy/P2SH addresses, Bech32 for native SegWit, entirely in your browser using the actual algorithms, not a lookup or approximation.

How to use it: pick a conversion direction above, paste the input, and click Convert. Everything runs locally in your browser, nothing is sent anywhere.

Is a private key involved anywhere here?

No, never. Every conversion here works with public information only, addresses, hashes, and public keys. This tool doesn't accept, generate, or display private keys or seed phrases, and never will.

Why isn't there an "Address → Public Key" option?

Cryptographically, an address only encodes the hash of a public key, not the key itself, the actual public key isn't recoverable from an address alone. It only becomes visible on-chain the first time that address spends funds (revealed in the spending transaction). That's a blockchain lookup, not a pure conversion, so it isn't included in this offline converter.

Does this work entirely offline?

Yes, after the page has loaded (which fetches a small hashing library), every conversion itself runs locally in your browser with no network request.