Skip to main content
Loading live market data…

Fibonacci Calculator

Fibonacci retracements map the levels where a trend is likely to pause or reverse during a pullback, while extensions project where a move may run to once it resumes. Enter the high and low of the swing you are measuring and pick the direction — the calculator plots every key retracement and extension level instantly.

Swing high & low

Load a sample
Swing range = 0.01900 · Retracements measured down from the high.

How it works

The ratios come from the Fibonacci sequence (each number is the sum of the two before it): dividing a number by the next gives ≈ 0.618, by the one after ≈ 0.382, and so on. Applied to the swing range, they produce the retracement and extension prices:

Range = Swing High − Swing Low

Up swing (low → high) — pullbacks measured DOWN from the high:
  Level = High − Range × ratio

Down swing (high → low) — pullbacks measured UP from the low:
  Level = Low + Range × ratio

Retracement ratios:  23.6%, 38.2%, 50%, 61.8%, 78.6%
Extension ratios:    127.2%, 141.4%, 161.8%, 200%, 261.8%

Example — EUR/USD up swing 1.0760 → 1.0950 (range 0.0190):
  61.8% retracement = 1.0950 − 0.0190 × 0.618 = 1.08326
  161.8% extension  = 1.0950 + 0.0190 × 0.618 = 1.10674
  • 61.8% (the golden ratio) and 38.2% are the most-traded retracements — a shallow pullback in a strong trend often holds the 38.2%.
  • 50% is not a true Fibonacci ratio but is included by convention as the midpoint of the move.
  • 127.2% and 161.8% extensions are standard take-profit targets once price breaks beyond the prior swing.

Fibonacci levels are strongest where they line up with other structure. Cross-check them against the pivot points calculator for confluence, then size the entry with the position size calculator and project the result on the profit & loss calculator. Swing prices come straight from the forex rates board.

Where the ratios come from - and which of them are not Fibonacci at all

The Fibonacci sequence starts 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 and each term is the sum of the two before it. Divide any term by the next one and the answer oscillates in toward a fixed value: 55/89 = 0.61798, 89/144 = 0.61806, 144/233 = 0.61803, 233/377 = 0.61804. The limit is 0.6180339887, the reciprocal of the golden ratio phi = 1.6180339887. That single constant generates almost every level on the chart.

Skip a term instead of taking the next one and you get the other headline ratio: 89/233 = 0.38197, 144/377 = 0.38196, converging on 0.3819660113, which is 1/phi squared. Go one further and 1/phi cubed gives 0.2360679775 - the 23.6% level. The 78.6% level is the square root of 0.618034, which is 0.7861513778. The 127.2% extension is the square root of phi, 1.2720196495. And 261.8% is phi squared, 2.6180339887, which is also simply 1.618 plus 1, because phi has the unusual property that phi squared equals phi plus one.

Three of the levels the calculator plots have nothing to do with any of this, and it is worth being blunt about which. The 50% retracement is the midpoint of the swing - traders defend it by pointing out that 1 and 2 are consecutive Fibonacci terms and 1/2 = 0.5, but that is the second ratio in a sequence that has not converged yet, not a golden ratio. The 200% extension is just double the swing. And 141.4% is the square root of 2, an entirely different constant that arrived from harmonic and geometric trading traditions, not from phi.

None of that makes the levels useless. It does mean that calling every line on the chart a Fibonacci level overstates the case, and that if someone tells you 50% and 141.4% are golden-ratio levels, they have not checked.

The ratios, traced back to their source
Sequence: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

Consecutive ratios converge to 1/phi:
   55 / 89  = 0.6179775
   89 / 144 = 0.6180556
  144 / 233 = 0.6180258
  233 / 377 = 0.6180371        limit = 0.6180339887

Skip-one ratios converge to 1/phi^2:
   89 / 233 = 0.3819742
  144 / 377 = 0.3819629
  233 / 610 = 0.3819672        limit = 0.3819660113

Derived from phi = 1.6180339887
  23.6%  = 1 / phi^3      = 0.2360679775
  38.2%  = 1 / phi^2      = 0.3819660113
  61.8%  = 1 / phi        = 0.6180339887
  78.6%  = sqrt(0.618034) = 0.7861513778
  127.2% = sqrt(phi)      = 1.2720196495
  161.8% = phi            = 1.6180339887
  261.8% = phi^2          = 2.6180339887   (= phi + 1)

NOT derived from phi
  50%    = the midpoint of the swing
  141.4% = sqrt(2)        = 1.4142135624
  200%   = twice the swing

Retracement and extension answer two different questions

A retracement asks: within a move that has already happened, where might the pullback stop? Its answer is always a price inside the swing, between the high and the low, and 100% retracement means the entire move has been given back. An extension asks a different question: if the trend resumes, how far beyond the original swing might it run? Its answer is always a price outside the swing. Confusing the two is the most common reason a Fibonacci table looks nonsensical.

The arithmetic follows directly. On an upswing measured from low to high, a retracement level is High - Range x ratio, so the bigger the ratio the deeper the pullback and the lower the price. An extension level is High + Range x (ratio - 1), because the first 100% is the swing itself and only the surplus is projected beyond it. That is also why the 161.8% extension sits 61.8% of one range above the high - the two share the same 0.618, which is why traders often see the same distance appearing twice on a chart.

There is a tidier way to hold both in your head: every level, retracement or extension, can be written as Low + Range x ratio on an upswing, measuring from the swing low upward. On that scale the 0% level is the low, 100% is the high, 61.8% retracement is the point 38.2% of the way up, and 161.8% extension is 61.8% of a range above the high. The calculator quotes retracements from the high because that is the trading convention, but both routes give the identical number.

One distinction the calculator does not make, and you should be aware of: this is a two-point tool. Some traders use a three-point projection - measuring an A to B move and projecting it from a later point C - which produces different targets from a two-point extension of the same swing. Neither is more correct; they are different measurements, and mixing them is a good way to end up with target levels you cannot reproduce tomorrow.

Every level of one upswing, worked through

The numbers below use an assumed illustrative EUR/USD swing running from a low of 1.0760 to a high of 1.0950. The range is 0.0190, or 190 pips. Working the whole ladder out once by hand is the fastest way to internalise the pattern, and it makes any typo in a chart platform obvious immediately.

Look at what the retracement spacing does. The gap between the 23.6% and 38.2% levels is 27.7 pips, between 38.2% and 50% it is 22.4 pips, and between 50% and 61.8% it is another 22.4 pips - those two must be identical, because 0.5 - 0.382 and 0.618 - 0.5 are both 0.118. Between 61.8% and 78.6% the gap widens to 31.9 pips. So the three most-watched levels - 38.2%, 50% and 61.8% - sit inside a 44.8-pip cluster in the middle of the swing. That cluster is the whole reason traders talk about the golden pocket: on any given swing, those levels are close enough together that a single reaction zone covers all three.

The extension side spreads out fast. From the 1.0950 high, the 127.2% target is 52 pips away, the 161.8% target is 117 pips away, and the 261.8% target is 307 pips away. A 261.8% extension of a 190-pip swing is asking for a 497-pip move from the swing low. That is a legitimate measurement, but it is worth knowing what you are asking for before you place an order there.

Two accuracy notes. The 100% retracement is not a level in any meaningful sense - it is the swing low itself, and price reaching it means the swing you measured has been fully retraced, which usually means the setup is gone rather than that support has been found. And a level quoted to six decimals, like 1.083258, will be displayed as 1.08326 on a five-decimal platform; do not treat the sixth decimal as tradeable precision.

Assumed illustrative upswing, EUR/USD 1.0760 to 1.0950
Swing low  1.0760      Swing high 1.0950
Range = 1.0950 - 1.0760 = 0.0190   (190 pips)

RETRACEMENTS   Level = High - Range x ratio
  23.6%  1.0950 - 0.0190 x 0.236 = 1.0950 - 0.004484 = 1.090516
  38.2%  1.0950 - 0.0190 x 0.382 = 1.0950 - 0.007258 = 1.087742
  50.0%  1.0950 - 0.0190 x 0.500 = 1.0950 - 0.009500 = 1.085500
  61.8%  1.0950 - 0.0190 x 0.618 = 1.0950 - 0.011742 = 1.083258
  78.6%  1.0950 - 0.0190 x 0.786 = 1.0950 - 0.014934 = 1.080066
  100%   1.0950 - 0.0190 x 1.000                     = 1.076000

EXTENSIONS     Level = High + Range x (ratio - 1)
  127.2% 1.0950 + 0.0190 x 0.272 = 1.0950 + 0.005168 = 1.100168
  141.4% 1.0950 + 0.0190 x 0.414 = 1.0950 + 0.007866 = 1.102866
  161.8% 1.0950 + 0.0190 x 0.618 = 1.0950 + 0.011742 = 1.106742
  200.0% 1.0950 + 0.0190 x 1.000 = 1.0950 + 0.019000 = 1.114000
  261.8% 1.0950 + 0.0190 x 1.618 = 1.0950 + 0.030742 = 1.125742

Same answers measured from the low:  Level = Low + Range x ratio
  61.8% retracement -> 1.0760 + 0.0190 x 0.382 = 1.083258   OK
  161.8% extension  -> 1.0760 + 0.0190 x 1.618 = 1.106742   OK

Retracement spacing on this 190 pip swing
  23.6 -> 38.2   0.146 x 190 = 27.7 pips
  38.2 -> 50.0   0.118 x 190 = 22.4 pips
  50.0 -> 61.8   0.118 x 190 = 22.4 pips   (same gap, necessarily)
  61.8 -> 78.6   0.168 x 190 = 31.9 pips

The 38.2 / 50 / 61.8 cluster spans 0.236 x 190 = 44.8 pips, and it is
always 23.6% of the range, because 0.618 - 0.382 = 0.236.

The same method on a downswing - and the error direction causes

Flip the direction and every sign flips with it. On a downswing measured from high to low, the pullback moves upward, so a retracement is Low + Range x ratio, and the extension projects further down, Low - Range x (ratio - 1). The high and low you type in do not change - the swing high is still the higher number - only the direction toggle changes, and it changes everything.

This is the single most common misuse of a Fibonacci tool. Enter a downswing but leave the direction on up, and the calculator will happily hand you a full ladder of prices that are internally consistent, plausibly spaced, and completely wrong for the move you are looking at. There is a fast sanity check that catches it every time: on a downswing the retracement levels must be above the swing low and the extension targets must be below it. If your extensions are printing above the high on a downswing, the direction is inverted.

The example below uses an assumed illustrative GBP/USD swing from a high of 1.2820 down to a low of 1.2610, a range of 0.0210 or 210 pips. Notice the mirror: the 61.8% retracement sits 129.8 pips above the low, exactly as the 61.8% retracement of the upswing sat 117.4 pips below its high, in each case 0.618 of that swing's range.

One structural point that survives the flip: the 100% retracement of a downswing is the swing high, and the 161.8% extension is always 61.8% of a range beyond the low. Those relationships hold in both directions because they are properties of the ratio, not of the chart.

Assumed illustrative downswing, GBP/USD 1.2820 to 1.2610
Swing high 1.2820      Swing low  1.2610
Range = 1.2820 - 1.2610 = 0.0210   (210 pips)

RETRACEMENTS   Level = Low + Range x ratio    (pullback moves UP)
  38.2%  1.2610 + 0.0210 x 0.382 = 1.2610 + 0.008022 = 1.269022
  50.0%  1.2610 + 0.0210 x 0.500 = 1.2610 + 0.010500 = 1.271500
  61.8%  1.2610 + 0.0210 x 0.618 = 1.2610 + 0.012978 = 1.273978
  78.6%  1.2610 + 0.0210 x 0.786 = 1.2610 + 0.016506 = 1.277506

EXTENSIONS     Level = Low - Range x (ratio - 1)   (targets move DOWN)
  127.2% 1.2610 - 0.0210 x 0.272 = 1.2610 - 0.005712 = 1.255288
  161.8% 1.2610 - 0.0210 x 0.618 = 1.2610 - 0.012978 = 1.248022
  200.0% 1.2610 - 0.0210 x 1.000 = 1.2610 - 0.021000 = 1.240000
  261.8% 1.2610 - 0.0210 x 1.618 = 1.2610 - 0.033978 = 1.227022

Cross-check from the high:  Level = High - Range x ratio
  161.8% -> 1.2820 - 0.0210 x 1.618 = 1.2820 - 0.033978 = 1.248022  OK

Sanity test for direction
  Downswing: retracements ABOVE the low, extensions BELOW the low.
  Upswing:   retracements BELOW the high, extensions ABOVE the high.
  If yours are the other way round, the direction toggle is wrong.

Choosing the swing is the whole decision

The ratios are fixed. The two prices you feed them are not, and that is where all the disagreement between traders actually lives. Hand the same chart to five people and you will often get five different swing selections, which means five different ladders, which means five different opinions about where support is. The calculator cannot resolve that for you - it can only be exact about the swing you give it.

The most consequential choice is whether to measure wicks or bodies. Using the extreme high and low of the candles is the standard and reproducible convention; using the highest close and lowest close deliberately ignores spikes that the market immediately rejected. Both are defensible. What is not defensible is switching between them depending on which one puts a level where you wanted it, which is how Fibonacci analysis quietly becomes a way of justifying a decision already made.

Timeframe compounds the problem. A swing that is obvious on a four-hour chart may be invisible on a daily and may itself contain three separate swings on a fifteen-minute chart. The practical convention is to measure the swing on the timeframe you intend to trade, and to check whether a higher-timeframe level lands nearby - that overlap is far more interesting than any single level on its own.

There is also a data question people forget: whose prices? Two brokers can print different session extremes for the same pair because their feeds, spreads and server hours differ. A level derived from your broker's high is the level your broker's chart will draw and your orders will sit at, which is usually the one that matters most.

  • Measure a swing that is actually complete. A high that is still being made will move, and every level moves with it.
  • Pick wicks or bodies as a rule and hold to it. Re-measuring until a level lands where you want it is the fastest way to make the tool meaningless.
  • Match the swing to the trade horizon. A 40-pip intraday swing has nothing to say about a position held for weeks.
  • Prefer swings with clear, obvious turning points. A swing you have to hunt for is one other traders are less likely to have measured the same way, so there is less reason to expect orders to cluster at its levels.
  • Check the level against something that is not Fibonacci - a pivot, a prior high, a round number, a session extreme. Overlap is the point; a lone level is just a line.
  • Expect a zone, not a price. Spread, slippage and feed differences mean a reaction of several pips either side of a level is normal and does not mean the level failed.
  • Remember that a level in an unbroken area of the chart has never been tested. Untested does not mean stronger.

What a Fibonacci level is honest evidence of

Fibonacci levels are a charting convention, not a law of markets. There is no mechanism by which a currency pair knows the golden ratio, and because the analyst chooses the swing, the same chart can usually be made to produce whichever levels are wanted - which is exactly what makes any claim of a measured edge so difficult to test. Any page that tells you 61.8% is where price will turn is selling you certainty that does not exist.

What is defensible is narrower and more useful. A very large number of market participants plot the same handful of ratios from broadly similar swings, so orders cluster in broadly similar places, and clustered orders produce visible reactions. That makes Fibonacci levels a reasonable map of where other people are likely to be interested - which is a genuinely different claim from saying the market must respect them. The effect is a crowd effect, and crowd effects are strongest on obvious swings on popular instruments and timeframes, and weakest on obscure ones.

The practical consequence is that a Fibonacci level works best as a filter rather than a trigger. It narrows a chart down from every price to a handful of prices worth watching. What happens when price arrives there - whether it stalls, reverses, or slices straight through - is information the level itself cannot supply, and waiting for that information costs nothing.

Treat any level as provisional until price interacts with it, size the position as though the level will fail, and remember that a stop placed just beyond a Fibonacci level is exactly where a great many other stops are sitting. Levels do not prevent losses. They organise a chart.

From a Fibonacci level to a lot size

A retracement level becomes a trade plan only once it produces a distance in pips, and a distance in pips is what the position size calculator turns into lots. Working from the upswing above, suppose the plan is a pullback entry at the 61.8% level of 1.08326 with invalidation below the 78.6% level at 1.080066 - a stop at 1.0798 puts it just beyond. That is 34.6 pips of stop distance, and the first extension target at 1.10017 is 169.1 pips away.

Turn that into a size. On a 10,000 unit account risking 0.75%, the budget is 75 units of account currency. EUR/USD with a USD account gives a pip value of 10 USD per standard lot, since a standard lot is 100,000 EUR and one pip is 0.0001. Dividing 75 by 34.6 pips times 10 gives 0.2168 lots, which rounds down to 0.21 at a 0.01 lot step - 21,000 units, worth 2.10 USD per pip, for a realised risk of 72.66 USD.

The resulting reward-to-risk of roughly 4.9 to 1 looks generous, and it is worth understanding why rather than celebrating it. It is generous because the stop is tight, and a tight stop is more likely to be hit by ordinary noise before the trade has a chance to work. Wide targets and tight stops mechanically produce large ratios and small win rates; the ratio on its own says nothing about whether the plan is sound. A 4.9 to 1 payoff only needs to win about 17% of the time to break even, and whether it will is not something any calculator can tell you.

Finally, the caveat that matters most: a stop at 1.0798 is an instruction, not a promise. If price gaps over the weekend or a data release moves the market through the level without trading at it, the fill can be materially worse and the loss larger than 72.66. Sizing the trade bounds what you expect to lose. It does not cap what you can lose.

Fibonacci level to lot size, using the upswing above
Assumptions: account 10,000 USD, risk 0.75% = 75 USD
             EUR/USD, USD account, standard lot = 100,000 EUR
             1 pip = 0.0001, pip value = 10 USD per standard lot

Entry  61.8% retracement       1.083258  -> shown as 1.08326
Stop   just below 78.6%                                1.07980
Target 127.2% extension        1.100168  -> shown as 1.10017

Stop distance   = 1.08326 - 1.07980 = 0.00346 =  34.6 pips
Target distance = 1.10017 - 1.08326 = 0.01691 = 169.1 pips

Lots = 75 / (34.6 x 10) = 75 / 346 = 0.2168
     -> round DOWN to the 0.01 lot step        = 0.21 lots

0.21 lots = 21,000 units
Pip value = 21,000 x 0.0001                    = 2.10 USD per pip
Risk      = 2.10 x 34.6                        =  72.66 USD
Reward    = 2.10 x 169.1                       = 355.11 USD

Reward-to-risk = 355.11 / 72.66 = 4.89
  which equals 169.1 / 34.6 = 4.89, as it must.
Breakeven win rate at 4.89R = 1 / (1 + 4.89) = 17.0%

A tight stop buys a big ratio and a low hit rate. Neither number
tells you whether the level will hold.

Frequently asked

Which two points do I use for the high and low?

Pick the start and end of the swing you want to measure — the most recent significant low and high (or high and low for a downswing). The clearer the swing, the more reliable the levels.

What is the difference between retracement and extension?

A retracement is a pullback inside the existing range (0–100% of the swing). An extension projects beyond 100%, giving target levels for where the move may continue once it resumes.

Is the 50% level really Fibonacci?

No — 50% is not part of the Fibonacci sequence, but traders include it as the midpoint of the move because price so often reacts there. The calculator shows it alongside the true ratios.