What is a Tron address converter?
A Tron address converter translates one 20-byte account between its three spellings: the Base58Check T… form shown by wallets (prefix byte 0x41, then 20 bytes, then a 4-byte double-SHA-256 checksum), the 42-character 41… hex form used by node APIs and raw transactions, and the 0x… form used by EVM tooling. All three refer to the same account.
The three forms, explained
- Base58 (T…): 34 characters, always starts with T on mainnet. This is what TronLink, Trust Wallet, Binance and OKX show and accept. It contains a 4-byte double-SHA-256 checksum.
- Hex (41…): 42 hex characters: the version byte 0x41 followed by the 20-byte account. Used in TronGrid REST responses,
tronwebinternals and raw transactions. - EVM-style (0x…): the same 20 bytes with a 0x prefix, as seen in TVM contract logs and Solidity tooling. Shown here in EIP-55 checksummed and lowercase variants.
How the conversion works
- Base58 → hex: decode Base58, strip the last 4 checksum bytes after verifying them, output the remaining 21 bytes as hex.
- Hex → Base58: take 41 + 40 hex, append the first 4 bytes of SHA-256(SHA-256(bytes)), encode in Base58.
- 0x → Tron: prepend 41 to the 40 hex characters and encode as above.
Worked example
The USDT TRC-20 contract is TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t in Base58. Decoding gives the 21-byte payload 41a614f803b6fd780986a42c78ec9c7f77e6ded13c plus 4 checksum bytes. Dropping the 41 prefix and adding 0x yields the EVM form 0xa614f803b6fd780986a42c78ec9c7f77e6ded13c, which is how the same contract appears in TVM event logs.
Formats at a glance
| Form | Length | Checksum | Where used |
|---|---|---|---|
| Base58 T… | 34 characters | yes, 4 bytes | wallets, exchanges, QR codes |
| Hex 41… | 42 hex characters (21 bytes) | no | TronGrid, tronWeb, protobuf transactions |
| EVM 0x… | 42 characters (20 bytes) | optional EIP-55 case | TVM logs, Solidity tooling |
Typical uses
- Querying
/v1/accounts/<hex>style API endpoints that only accept hex. - Decoding the
toparameter of a TRC-20transfercall from contract data. - Checking that a deposit address a customer sent is a valid Tron address before you credit a withdrawal.
Generate a receiving code for a verified address with the USDT TRC-20 QR generator.