Uniswap V3 Math — Tick & SqrtPrice
price ↔ tick ↔ sqrtPriceX96 with exact Q64.96 integer math
Price → tick / sqrt
tick: 1
sqrtX96: 79232123823359799118286999567
Tick → price / sqrt
price: 1
sqrtX96: 79228162514264337593543950336
sqrtX96 → tick / price
tick: 0
price: 1
Reference points: price 1.0 ↔ tick 0 ↔ sqrtPriceX96 79228162514264337593543950336 (2^96). price = 1.0001^tick. sqrtPriceX96 = sqrt(price) × 2^96. Decimals adjust raw vs human prices: raw = human × 10^(dec0 − dec1).
About the Uniswap Math
Uniswap pricing is pure math: constant-product (x·y=k) for v2, concentrated liquidity and tick square-root pricing for v3 and v4. When you are integrating a router, estimating slippage, or auditing a pool, you need those numbers — without trusting a frontend.
This calculator implements the actual formulas: getAmountsOut for v2 paths, sqrtPriceX96 conversions, tick-to-price mapping, and fee math. It is the reference implementation in your browser — no wallet connection, no RPC, nothing sent anywhere.
How to use
- Choose the curve version and calculation you need.
- Enter reserves, amounts, or sqrtPrice as available.
- Read the exact output amounts and price implications.