Free, vendor neutral Ethereum unit converter

Wei / Gwei / Ether Converter

Convert any value across wei, kwei, mwei, gwei, szabo, finney, and ether with full BigInt precision. Add an ETH price to see the live USD figure without sending anything to a server.

No loginBigInt precisionShareable scenarios
Wei to gwei to ether conversion ladderA vertical ladder showing wei, gwei, and ether with the 10^9 and 10^9 multipliers between them, ending at the ether unit.1wei× 10^91,000,000,000gwei× 10^91 ether =10^18 weiBigInt precision, no float drift

wei

10^0 wei

kwei (babbage)

10^3 wei

mwei (lovelace)

10^6 wei

gwei (shannon)

10^9 wei

szabo (microether)

10^12 wei

finney (milliether)

10^15 wei

ether

10^18 wei

Ether to USD

Optional. Paste current ETH price.

The price is never fetched. Type the rate you trust and the value updates locally.

Show formulas and assumptions

1 ether equals 10^18 wei. Every row above is the same wei amount expressed in a different unit. The math runs on BigInt through viem.parseUnits and viem.formatUnits so 1 ether keeps full integer precision down to the last wei.

Decimal shifts: wei 0, kwei 3, mwei 6, gwei 9, szabo 12, finney 15, ether 18. The ether to USD line is a plain multiplication of the ether amount by the price you typed. Nothing leaves the page; open DevTools and watch the network tab to confirm.

Want canonical references? See ethereum.org denominations and go-ethereum denomination constants.

About this tool

What this converter answers

The Wei Gwei Ether Converter translates a single value across every common Ethereum unit (wei, kwei, mwei, gwei, szabo, finney, ether) using the canonical 10^18 base, with an optional ether to USD line driven by a price you supply. Use it when reading on chain transactions, writing Solidity tests, double checking a gas estimate, or sanity checking a calldata value before signing.

The converter handles every unit Solidity and Etherscan still expose, holds the canonical wei amount as a BigInt, and never quietly truncates large numbers the way a floating point converter would. Decimal entries up to 18 places round trip without drift, and the Share button gives you a URL that reproduces the exact scenario in another browser.

How to use it

Click into any row that matches the unit you have. The value updates instantly across every other row, so you can paste 20 into the gwei row and read the equivalent in wei, ether, or finney without leaving the page. The active row gets an indigo highlight so you always know which input is the source of truth.

For an ether to USD conversion, paste a price into the optional USD field at the bottom. Common sources are Coinbase, Kraken, CoinGecko, or your own oracle feed. The multiplication runs locally so the price you trust is the price you get. Use the Reset button to return to one ether, and the Share scenario button to copy a URL that preserves the value, the active unit, and the price.

What goes into the math

Every conversion routes through viem.parseUnits and viem.formatUnits. Decimal shifts are wei 0, kwei 3, mwei 6, gwei 9, szabo 12, finney 15, ether 18. The tool stores the canonical amount as a single BigInt of wei, so a value of 1 ether equals 1,000,000,000,000,000,000n internally and round trips to every other unit with zero loss.

The ether to USD figure is a plain multiplication: ether amount times the price you entered, formatted with two decimal places. Nothing else happens. There is no fetch, no oracle, no rounding heuristic.

Ethereum unit ladderA horizontal ladder of Ethereum units from wei on the left to ether on the right, showing the decimal shift between each step.wei10^0kwei10^3mwei10^6gwei10^9szabo10^12finney10^15ether10^18The seven Ethereum units, each step is × 1000 wei.

Where the answer usually breaks down

The number one trap is using a calculator that converts through JavaScript floats. One ether is 10^18 wei, which sits well past the safe integer range. A float based converter silently rounds the trailing digits and gives you a wrong wei value for any nontrivial amount. This converter avoids that by holding the canonical value in a BigInt the entire time.

The second trap is mixing up gwei and wei when reading gas math. A 20 gwei priority fee is 20,000,000,000 wei, not 20 wei. Etherscan, MetaMask, and Foundry all default to gwei for gas, so a paste from one tool into another that expects wei looks correct but is off by a factor of a billion. When in doubt, drop the value into this converter and confirm both rows.

When the answer is real and when it is not

The unit conversion is exact. There is no approximation. If you put 1 ether in, you get 10^18 wei out, every time. The same is true for any decimal up to 18 places. Use this for production gas math, audit reports, signing flows, and anywhere you need a number you can defend.

The ether to USD line is only as real as the price you entered. ETH prices move every second; a stale quote in a report is misleading. Always paste a dated price from the exchange or oracle you trust, and write the timestamp next to the figure when you export it.

How this differs from vendor calculators

This converter is vendor neutral. The math is BigInt all the way through. Every unit appears in one column instead of being hidden behind a dropdown. There is no signup, no analytics, no rate limit, and no remembered state on a server. The shareable URL hash means you can hand a colleague a link and they get the exact same numbers without an account or a screenshot.

Sources used for the unit definitions and decimal shifts include the official ethereum.org denominations reference, the go-ethereum denomination constants, and the Solidity ether units page.

Designing a contract that depends on careful unit math?

Off by a factor of 10^9 in gas math, fee splits, or oracle scaling is the kind of bug that costs real ether. Bring your design for a focused review.

Book a smart contract review

Frequently asked questions

How many wei are in 1 ETH?
One ETH equals exactly 10^18 wei, which is 1,000,000,000,000,000,000 wei. Wei is the smallest denomination of ether and the unit Ethereum uses internally for all balances and gas math. Solidity, the JSON RPC, and every block explorer store balances as wei and only format them for human display, which is why a wei to ETH converter with BigInt precision is essential for any on chain debugging.
How do I convert gwei to ETH?
Divide the gwei value by 10^9. The converter does this for you with full BigInt precision, but the math is simple: 1 gwei equals 0.000000001 ETH, and 1 ETH equals 1,000,000,000 gwei. Gas prices on Etherscan are usually quoted in gwei because typical priority fees of 1 to 50 gwei would otherwise look like long strings of leading zeros in ETH.
How do I convert wei to ETH precisely?
Divide the wei value by 10^18. For any wei value that does not divide evenly, you need BigInt or a fixed point library because JavaScript floating point silently loses precision above 2^53. This converter uses viem.formatUnits with BigInt under the hood, which means the wei to ETH conversion round trips exactly without any precision loss. The same applies to every other Ethereum denomination converter on this page.
When should I use gwei versus wei?
Use gwei when you are talking about gas prices, since typical priority fees of 1 to 50 gwei stay readable. Use wei when you are passing values to Solidity, the JSON RPC, or any low level Ethereum tooling, since wei is the canonical internal unit. Use ETH when you are quoting balances or transaction values to a human reader. This converter handles all three plus the legacy szabo and finney denominations.
What is the Ethereum denomination converter reference?
Ethereum supports seven canonical denominations: wei at 10^0, kwei at 10^3, mwei at 10^6, gwei at 10^9, szabo at 10^12, finney at 10^15, and ether at 10^18. Modern Solidity removed the szabo and finney keywords in version 0.7, but the units still appear in legacy contracts, audit reports, and Etherscan unit dropdowns. This converter supports all seven with full BigInt precision.
Why does this wei to ETH converter use BigInt instead of regular numbers?
JavaScript numbers are 64 bit floats and lose precision above 2^53. One ETH is 10^18 wei, which sits well past that limit. Converting through floats silently rounds the last few digits and produces wrong wei values for any nontrivial amount. The tool uses native BigInt through viem.parseUnits and viem.formatUnits, so a wei value round trips exactly across every unit conversion.
Can I share my Ethereum unit converter result with a teammate?
Yes. The tool encodes your value, unit, and optional USD price into the URL hash on every change. The Share scenario button copies the full URL to your clipboard. Open it in another browser or hand it to a teammate and the same numbers reappear without any account or saved state. The hash never reaches a server, which keeps your scenario private and reproducible.

Related services and reading

Follow the cluster from a simple unit conversion into deeper Ethereum work.

Author: Mudassir Khan. Last updated May 9, 2026. Unit definitions verified against the go-ethereum denomination constants and the Solidity 0.8.x ether units reference on May 9, 2026.