Crypto Calculator

Use new line delimiter for multiple inputs.

FAQ

How do I convert a private key to WIF?

  1. Take a private key in HEX format:
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  2. Add a 0x80 byte in front of it for mainnet addresses or 0xef for testnet addresses:
    80e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  3. Add a 0x01 byte at the end if the private key will correspond to a compressed public key:
    80e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85501
  4. Perform Base58Check encoding:
    L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1

How do I convert WIF to a private key?

  1. Take a Wallet Import Format (WIF) string:
    L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1
  2. Perform Base58Check decoding:
    80e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85501
  3. Drop the first byte (0x00 for mainnet address):
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85501
  4. If the private key corresponded to a compressed public key, also drop the last byte (0x01):
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

How do I convert a private key into a Bitcoin address?

  1. Having a private key in HEX format:
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  2. Derive the corresponding public key (compressed or uncompressed):
    03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd
  3. Perform SHA-256 hashing:
    4c0b2d2f119a09b607cb273a745b2b0430d5192e0c4e536f932be5d1a6be5883
  4. Perform RIPEMD-160 hashing:
    9a1c78a507689f6f54b847ad1cef1e614ee23f1e
  5. Add version byte in front of RIPEMD-160 hash (0x00 for Main Network):
    009a1c78a507689f6f54b847ad1cef1e614ee23f1e
  6. Perform Base58Check encoding:
    1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV

How do I convert a private key into an Ethereum address?

  1. Having a private key in HEX format:
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  2. Derive the corresponding public key (uncompressed):
    04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235
  3. Drop the first byte (0x04):
    a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235
  4. Perform Keccak-256 hashing:
    a3c7b15596359456ea3b05ea41ad2bc63a2059f9b623533d87fe99887d794847
  5. Take the last 20 bytes:
    41ad2bc63a2059f9b623533d87fe99887d794847
  6. Add 0x prefix in the front:
    0x41ad2bc63a2059f9b623533d87fe99887d794847