ETH Unit Converter
Convert between the seven Ethereum units — wei to ether — exactly, with BigInt. Gas-fee calculator (gas × base fee + tip) and an optional USD value.
ETH Unit Converter
Gas fee calculator
The defaults are ethereum.org's own worked example (10 gwei base fee, 2 gwei tip), not today's prices — read the current base fee from a gas tracker or your wallet. Only the plain transfer has a fixed gas figure; a token transfer or contract call uses whatever its code consumes, so take that number from your wallet's estimate.
How to use the ETH unit converter
Type into any row
Enter a value into any of the seven unit rows (wei, kwei, mwei, gwei, szabo, finney, ether) and the others update instantly. Commas between groups of three are fine. The maths uses BigInt — exact to the wei — and an amount finer than one wei is refused rather than rounded away.
See USD value (optional)
Type the current ETH price (USD) into the dark card on the right. The tool shows what your entered amount is worth in dollars, rounded once to the cent. We don't fetch the price automatically — to keep the tool 100% client-side. Get the current ETH price from CoinGecko, Coinbase, or your wallet, and paste it in.
Calculate a gas fee
The gas fee calculator works the way ethereum.org describes it: gas used × (base fee + priority fee). It shows the total in ETH (and USD, if you entered a price), split into the base fee, which is burned, and the tip, which goes to the validator. A plain ETH transfer uses exactly 21,000 gas; for anything else, take the gas figure from your wallet's estimate, and the base fee from a gas tracker.
Copy or compare
The values are displayed in real time. Select and copy any unit's value to paste into a wallet, smart contract, or block explorer. The conversion is precise to the wei — what you see is what you'd get on-chain.
Ethereum units — why ether splits into 18 decimal places
Bitcoin counts in eight decimal places — Bitcoin Core defines one coin as 100,000,000 of its smallest unit. Ethereum counts in eighteen. The base unit is the wei, and the Yellow Paper, Ethereum's formal specification, says plainly: "One Ether is defined as being 1018 Wei", and any value in the specification is counted in wei. To make those large numbers manageable, a ladder of named units sits in between. The Yellow Paper itself names five — wei, gwei, szabo, finney and ether; the extra names kwei (babbage) and mwei (lovelace), and shannon for gwei, come from client libraries such as web3.js rather than from the specification.
The seven units — and what each is actually used for
wei (10⁰) is the base unit: a transaction's value field and an account's balance are both denominated in wei. kwei (10³) and mwei (10⁶) are rarely seen; ethers.js still lists them among its seven units. gwei (10⁹) is the workhorse — ethereum.org describes it as the unit "often used to describe gas costs". szabo (10¹²) and finney (10¹⁵) appear in the Yellow Paper's table but seldom in a wallet. ether (10¹⁸) is the everyday display unit. Several of the names honour people: the old Homestead documentation says some units "bear the family name of seminal figures" in computer science and cryptoeconomics — Babbage, Lovelace, Shannon, Szabo and Finney among them.
1 ether = 1,000,000,000,000,000,000 wei. JavaScript's regular Number type loses precision above 2⁵³ ≈ 9 quadrillion. Always use BigInt or a library like ethers.js for ETH math.
Why precision matters — the floating-point trap
JavaScript's standard Number type is IEEE 754 double-precision floating point, which can represent integers exactly only up to about 9 quadrillion (2⁵³). One ether is one quintillion wei — three orders of magnitude beyond Number's exact range. Multiply 1.1 by 10¹⁸ as a Number and you get 1,100,000,000,000,000,128 — 128 wei too many, invisible at the ether scale and wrong if you are writing or auditing contract code where one wei matters. This calculator uses BigInt (standardised in ECMAScript 2020) for every conversion and reads what you type digit by digit, so 1.1 ether is exactly 1,100,000,000,000,000,000 wei.
Which unit you will actually meet
In practice three of the seven units do all the work. Wallets, exchanges and block explorers display balances in ether; gas prices are quoted in gwei, because at a few gwei per unit of gas the numbers stay readable; and every contract, RPC response and signed transaction carries values in wei, because the protocol has no fractions. Whether you are reading an Etherscan receipt in Singapore, a wallet in Seoul or a Solidity unit test, the translation between those three is the one you will do again and again. On another EVM chain, check its documentation for the native token's decimals before relying on the same ladder.
What this tool doesn't do
It doesn't fetch the live ETH price — that would require an external API call, which adds a privacy footprint (the third-party API can log your queries). Type the current price yourself from any source. It doesn't connect to your wallet, sign transactions, or query the blockchain — for that you need ethers.js, viem, or MetaMask. It doesn't convert between ETH and other tokens (USDT, USDC, DAI, BTC, MATIC) — that needs live exchange rate data. This is a pure unit converter — the math layer underneath every wallet, every block explorer, every dApp.
Ether has seven named units, and a plain transfer costs exactly 21,000 gas
The Yellow Paper names five units — wei, gwei, szabo, finney and ether — and says every value in the specification "should be assumed to be counted in Wei".
The JavaScript library ethers.js recognises exactly seven unit names: wei, kwei, mwei, gwei, szabo, finney and ether — 1,000 times apart.
web3.js accepts more aliases for the same amounts: babbage and femtoether for kwei, lovelace and picoether for mwei, shannon and nanoether for gwei.
Several unit names honour people — Babbage, Lovelace, Shannon, Szabo and Finney — which the Homestead documentation describes as "seminal figures" in computer science and cryptoeconomics.
Bitcoin Core defines one bitcoin as 100,000,000 of its smallest unit — eight decimal places against ether's eighteen.
A plain transfer costs exactly 21,000 gas: the Yellow Paper's Gtransaction, "paid for every transaction".
EIP-1559, activated in the London upgrade on 5 August 2021, split the gas price into a base fee, which the protocol burns, and a priority fee paid to the block producer — so part of every transaction's gas permanently leaves circulation.
ethereum.org's own worked example: 21,000 gas at a 10 gwei base fee and a 2 gwei tip costs 0.000252 ETH — 0.00021 burned, 0.000042 to the validator. It is this calculator's default.
A JavaScript Number is exact only up to 2⁵³ − 1 (9,007,199,254,740,991). One ether is 10¹⁸ wei, so 1.1 ether computed as a Number comes out 128 wei too large.
JavaScript's BigInt — used by this tool — was standardised in ECMAScript 2020 and represents integers of any size exactly, which is what 18-decimal wei arithmetic needs.
FAQ
-
Exactly 1,000,000,000,000,000,000 (one quintillion = 10¹⁸) — the Yellow Paper's definition. 1 ether = 10⁹ gwei = 10⁶ szabo = 10¹⁸ wei. Wei is the smallest unit; nothing smaller exists, which is why this converter refuses a fraction of a wei.
-
Because at the wei level, gas prices would be huge unwieldy numbers (2 gwei = 2,000,000,000 wei). gwei is the largest unit at which gas costs naturally read as small numbers. "2 gwei" is easier than "0.000000002 ether" or "2,000,000,000 wei".
-
No. The tool runs entirely in your browser. No wallet connection, no API calls, no blockchain queries. The ETH price field is manual — you paste in the current rate from anywhere you trust. Verify in DevTools → Network.
-
Auto-fetching the price would mean calling an external API (CoinGecko, Binance, etc.) which logs your IP and could correlate price-checks with your other activity. Manual entry keeps the tool fully privacy-preserving.
-
Gas price (gwei) is the per-unit cost — what you're willing to pay for each unit of computation. Gas limit (gas units) is the maximum number of units the transaction is allowed to consume. Total cost = gas price × gas used (which is ≤ gas limit).
-
21,000 is the Yellow Paper's Gtransaction, the gas "paid for every transaction" — and all a plain ETH transfer costs. It is the floor for any transaction; contract calls (token transfers, swaps, mints) add whatever their code consumes on top.
-
The Aug 2021 upgrade that changed gas pricing from "bid what you want" to "base fee + priority tip". The base fee is set by the protocol for each block from demand and is burned — EIP-1559: "The base fee per gas is burned." The tip goes to the validator. The upgrade went live in London on 5 August 2021.
-
For the unit conversion, yes, wherever the chain's native token uses 18 decimals as ether does — check the chain's documentation. For fees, not directly: a layer-2 rollup prices its transactions its own way, so the single gas × (base fee + tip) model here describes Ethereum mainnet only.
-
JavaScript's regular Number is IEEE 754 double — precise only to 2⁵³ ≈ 9 quadrillion. One ether is 10¹⁸ wei = 1 quintillion, three orders of magnitude beyond. Without BigInt, conversions lose precision at the wei level. BigInt (ES2020) has no upper limit and produces exact results.
-
No — this tool converts only between Ethereum's internal units. Cross-token conversion needs live exchange rates. For that, use a price source you trust or your wallet's swap interface.
Method & sources
How it computes
Exact conversion between the seven ethers.js units (wei, kwei, mwei, gwei, szabo, finney, ether; 1 ether = 10^18 wei) on a BigInt wei value read digit by digit; an amount finer than 1 wei is refused, not rounded. Gas fee = gas used × (base fee + priority fee), base fee burned (ethereum.org; EIP-1559). USD value in integer cents from a typed price. No live price or gas data is fetched (EthUnitsKernel).
What this tool implements
- Ethereum Yellow Paper (Shanghai version, 2025-02-04) §2.1: "One Ether is defined as being 10^18 Wei"; named units wei (10^0), gwei (10^9), szabo (10^12), finney (10^15), ether (10^18). kwei and mwei are ethers.js unit names; babbage, lovelace and shannon are web3.js aliases, and the page says so.
- Exact arithmetic: every amount is an integer number of wei in JavaScript BigInt, parsed from the typed digits without a float; a fraction of a wei is refused with a message rather than truncated. Grouped input (1,234.5) is read; malformed grouping is refused.
- Gas fee as ethereum.org gives it: units of gas used × (base fee + priority fee), the base fee burned (EIP-1559) and the tip paid to the validator. A plain transfer is the Yellow Paper's G_transaction = 21,000 gas; the page offers no other gas preset, because no other figure is a protocol constant. The defaults (10 gwei base, 2 gwei tip) are ethereum.org's worked example and are labelled as such, not as a live price.
- USD value: the typed price read to 6 decimals, the product computed in BigInt and rounded half up to the cent once.
- Corrected 2026-10-19: 0.5 wei (any sub-wei amount) was silently truncated; USD was computed as ether × price in floating point; a default gas price of 25 gwei carried no date or source; four gas presets (65k ERC-20, 150k swap, 300k, 800k) had no authority; an FAQ said 1 ether = 10^12 szabo (it is 10^6); unsourced biographical claims about the units' namesakes and a "10,668 ETH fee" story were removed.
Sources
- Wood G. et al. Ethereum: A Secure Decentralised Generalised Transaction Ledger (Yellow Paper), Shanghai version efc5f9a, 2025-02-04 — §2.1 denominations; Appendix G, G_transaction = 21000: https://ethereum.github.io/yellowpaper/paper.pdf
- ethers.js v6, src.ts/utils/units.ts — unit names wei, kwei, mwei, gwei, szabo, finney, ether: https://github.com/ethers-io/ethers.js/blob/main/src.ts/utils/uni…
- web3.js 4.x, web3-utils converters.ts — ethUnitMap (babbage, lovelace, shannon and other aliases): https://github.com/web3/web3.js/blob/4.x/packages/web3-utils/src/…
- ethereum.org. Gas and fees — fee = gas used × (base fee + priority fee); worked example 21,000 gas at 10 + 2 gwei = 0.000252 ETH: https://ethereum.org/en/developers/docs/gas/
- ethereum.org. Intro to Ether — denominations; gwei "often used to describe gas costs": https://ethereum.org/en/developers/docs/intro-to-ether/
- EIP-1559: Fee market change for ETH 1.0 chain — "The base fee per gas is burned": https://eips.ethereum.org/EIPS/eip-1559 ; London upgrade 5 August 2021, ethereum.org history: https://ethereum.org/en/history/
- Ethereum Homestead documentation, ether.rst — denominations table; some units "bear the family name of seminal figures": https://github.com/ethereum/homestead-guide/blob/master/source/et…
- Bitcoin Core, src/consensus/amount.h — COIN = 100,000,000: https://github.com/bitcoin/bitcoin/blob/master/src/consensus/amou…
What can make this go out of date
- None at runtime: no price, gas or chain data is fetched; the ETH/USD price and the base fee are typed by the reader.
Pick up where you left off
Stored only in this browser — never sent to our servers.