Fibonacci Retracement Calculator
Calculate Fibonacci retracement and extension price levels from a swing high and swing low — the standard 23.6%, 38.2%, 50%, 61.8% and 78.6% pullbacks plus 127.2%, 161.8%, 200% and 261.8% extension targets, for uptrends and downtrends.
Input
Swing points
The highest price of the swing move you are measuring.
The lowest price of the swing move you are measuring.
Options
Uptrend measures a pullback down from the high; downtrend measures a bounce up from the low.
Rounding for displayed prices. Use more decimals for forex or crypto pairs.
Output
Retracement levels
| Level | Price | Notes |
|---|---|---|
| No data yet | ||
Extension levels
| Level | Price | Notes |
|---|---|---|
| No data yet | ||
Guides
The Fibonacci Retracement Calculator turns a single swing high and swing low into the full ladder of Fibonacci price levels traders watch for support, resistance and profit targets. Enter the two extremes of a move, pick whether the market is trending up or down, and it instantly prints the retracement levels (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%) and the extension levels (127.2%, 161.8%, 200%, 261.8%) with a price for each.
Fibonacci retracements are one of the most widely used tools in technical analysis. After a strong move, price often pulls back to a Fibonacci ratio of that move before continuing — the 61.8% "golden ratio" and the 50% halfway mark get the most attention. Extensions project beyond the original move to estimate where a trend might run to next.
How to use it
- Enter the swing high — the highest price of the move you are measuring.
- Enter the swing low — the lowest price of the move.
- Choose the trend direction. Uptrend measures a pullback down from the high, so 0% sits at the high and 100% at the low. Downtrend flips this: it measures a bounce up from the low.
- Pick the number of price decimals — 2 for stocks and indices, 4 for forex, or 8 for crypto pairs.
The results update automatically. The summary line highlights the range and the key 61.8% level, and each table can be copied or downloaded as CSV.
How are the levels calculated?
Let the range R = swing high − swing low. In an uptrend, a retracement level is high − R × ratio, so the 38.2% level sits 38.2% of the way down from the high. In a downtrend it is low + R × ratio, measuring up from the low. Extensions project past the far end of the move: low + R × ratio in an uptrend and high − R × ratio in a downtrend.
What is the golden ratio in Fibonacci trading?
The 61.8% level comes from dividing any Fibonacci number by the one after it (e.g. 34 ÷ 55 ≈ 0.618). It is considered the most significant retracement level — a pullback that holds here often signals the original trend is intact. Its extension counterpart, 161.8%, is a common profit target.
Is 50% really a Fibonacci level?
Strictly, no — 50% is not derived from the Fibonacci sequence. It is included by convention because markets frequently retrace half of a prior move, and Dow Theory treats the halfway point as a natural psychological pivot.
Does this replace a charting platform?
No. This calculator gives you exact price levels to plot or cross-check, but it does not draw them on a live chart or account for wicks, gaps and volume. Use it alongside your charting tool, not instead of it. It is an educational aid, not financial advice.
Privacy
Every calculation runs entirely in your browser. Your swing high, swing low and settings are never uploaded, logged or stored on a server — nothing leaves your device.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/fibonacci-retracement-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"swingHigh": "150",
"swingLow": "100",
"trend": "up",
"decimals": "2"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `fibonacci-retracement-calculator` tool (Fibonacci Retracement Calculator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.