Token Decimals Converter

Contracts store token balances as integers. Pick the token's decimals (6 for USDT and USDC, 8 for WBTC, 18 for most ERC-20) and convert between the raw value and the amount a wallet would show.

Converted in your browser with JavaScript. Addresses are never uploaded or stored.

What is a token decimals converter?

A token decimals converter translates between the raw integer a token contract stores and the human amount a wallet shows, using the token's decimals value: amount = raw ÷ 10decimals. ERC-20 and TRC-20 contracts expose it through decimals(); an SPL mint stores it in the mint account. USDT and USDC use 6, WBTC 8, and ETH-like tokens 18.

Common token decimals

TokenDecimals1 token as raw integer
USDT (Ethereum, Tron, Solana, Polygon, Arbitrum)61,000,000
USDC (all major chains)61,000,000
USDT on BNB Smart Chain (Binance-Peg)181,000,000,000,000,000,000
WBTC, cbBTC8100,000,000
ETH, WETH, DAI, LINK, UNI, AAVE181,000,000,000,000,000,000
SOL and most SPL tokens91,000,000,000
GUSD2100

How the conversion works

human = raw ÷ 10decimals and raw = human × 10decimals. The catch is precision: 18-decimal values exceed what a floating-point number can represent, so this page uses arbitrary-precision integers. Entering more decimal places than the token supports is rejected, because the chain cannot represent that amount.

Worked example

An ERC-20 Transfer event shows value = 2500000. If the token is USDC (6 decimals) that is 2.5 USDC. If the same number came from a DAI transfer (18 decimals) it would be 0.0000000000025 DAI, a dust amount. Going the other way, to send 0.0025 WBTC (8 decimals) the argument to transfer must be 0.0025 × 108 = 250,000, and sending 1 LINK (18 decimals) requires 1,000,000,000,000,000,000.

Common mistakes

In code

For native coins see the Ethereum unit converter, satoshi converter, lamports converter and sun converter.

Frequently asked questions

What are token decimals?

A number stored in the token contract that says how many digits of the raw integer are fractional. USDT has 6 decimals, so a raw balance of 1,500,000 is 1.5 USDT. ETH and most ERC-20 tokens use 18.

Where do I find a token's decimals?

On the token page of Etherscan, Tronscan or Solscan, or by calling decimals() on an ERC-20 / TRC-20 contract. For SPL tokens it is in the mint account.

Why does my transfer show as a huge number?

You are looking at the raw value. Divide by 10decimals: a USDT transfer of 25000000 is 25 USDT; an ETH-like token transfer of 1000000000000000000 is 1 token.

Can I use this for EIP-681 QR codes?

Yes. The uint256 parameter in an EIP-681 token transfer must be the raw integer. Enter the human amount here, copy the raw value, or simply use the USDT ERC-20 QR generator, which does this automatically.

Why do most ERC-20 tokens use 18 decimals?

Because ETH itself has 18 (1 ETH = 1018 wei) and early token contracts copied that convention. Stablecoins chose 6 to mirror cent-level accounting with headroom, and wrapped Bitcoin tokens use 8 to match satoshis.

Are USDT decimals the same on every chain?

USDT uses 6 on Ethereum, Tron, Solana, Polygon and most chains, but some bridged versions differ (for example 18 on BNB Smart Chain). Always check the specific contract.