Forex Position Size Calculator
Contract specification and leverage (editable)
How the size is worked out
Four numbers decide everything on this page: the money you are willing to lose, the distance to your stop, the cost of getting in, and the increments your broker accepts. Nothing else influences the result, including leverage — leverage changes the margin you post, not the amount you risk.
- The spread sits inside the stop distance because you pay it at entry, before the trade can move anywhere.
- The commission comes off the budget because money spent on fees can no longer be risked on the trade.
- Rounding always goes down. Rounding to nearest would quietly increase risk, and rounding up increases it openly.
- The worst case is recomputed from the rounded size, so you see the real loss rather than assuming it still fits.
A raw result that lands within one billionth of a whole increment is treated as that increment, so floating-point noise in JavaScript cannot cost you a tradable step. Everything below the number of increments that fit is simply discarded, which is why Budget left unused is never negative.
The increment that decides whether the trade exists
Every broker has a size below which an order is rejected. Two separate limits produce it, and this calculator reports the stricter one in Increment actually used:
- Unit step — the smallest move in raw units. A typical forex step is 1,000 units, one micro lot.
- Lot step — the smallest move in lots, printed from the dropdown on the right-hand pane. A step of 0.01 lets you trade 0.25 lots; a step of 0.10 forces you up or down to 0.20.
The effective increment is the larger of the two. On USD/JPY with a 1,000-unit step, a 0.01 lot step gives the same increment because 0.01 lots is exactly 1,000 units. Set the lot step to 0.10 and it becomes 10,000 units, and that is the number doing the rounding.
The consequence is visible in the numbers below. The same trade, the same 75.00 budget:
| Lot step | Increment used | Tradable size | Loss at stop | Budget left unused |
|---|---|---|---|---|
| 0.01 | 1,000 units | 25,000 units (0.25 lots) | 72.37 USD | 2.63 USD |
| 0.10 | 10,000 units | 20,000 units (0.20 lots) | 59.09 USD | 15.91 USD |
The looser step costs you 21% of your risk budget in size you are not allowed to take. That is not a rounding error, it is the whole of the difference between trading your plan and trading a version of it that fits your broker. The small-account walkthrough shows what happens when even one increment is too large for the budget.
Worked example: USD/JPY on a USD account
Assume a 5,000.00 USD account, risk of 1.5% per trade, USD/JPY trading at 155.20, a stop 40 pips away, a 1.2-pip spread, a 6.00 USD round-turn commission, and a broker dealing in 0.01-lot increments.
- Risk budget: 5,000.00 x 1.5% = 75.00 USD.
- Effective stop distance: 40 pips + 1.2 pips = 41.20 pips, which is 0.412 JPY at a pip size of 0.01.
- Convert to the account currency: 1 JPY is worth 1 / 155.20 = 0.00644330 USD, so one unit loses 0.412 x 0.00644330 = 0.00265464 USD if the stop is hit.
- Budget left after commission: 75.00 - 6.00 = 69.00 USD.
- Raw size: 69.00 / 0.00265464 = 25,992.23 units.
- Round down to the increment: 1,000-unit steps fit into that 25 times, giving 25,000 units = 0.25 lots.
- Check the worst case: 25,000 x 0.00265464 = 66.37, plus 6.00 commission = 72.37 USD, inside the 75.00 budget by 2.63.
Step 6 is the step that most tools leave out, and it is not cosmetic. Skipping both the costs and the rounding gives 29,000 units for this trade, and placing that size loses 82.98 USD at the stop — over the budget by 7.98, or about 10.6% more risk than you decided to take. Every trade sized that way carries the same hidden markup.
| Stop distance | Tradable size | Loss at stop | Ignoring costs: size and real loss |
|---|---|---|---|
| 20 pips | 50,000 units (0.50 lots) | 74.30 USD | 58,000 units, loses 85.23 USD |
| 40 pips | 25,000 units (0.25 lots) | 72.37 USD | 29,000 units, loses 82.98 USD |
| 60 pips | 17,000 units (0.17 lots) | 73.04 USD | 19,000 units, loses 80.92 USD |
| 80 pips | 13,000 units (0.13 lots) | 74.02 USD | 14,000 units, loses 79.25 USD |
Read the 20-pip row once more: 0.50 lots on a 5,000.00 USD account is 50,000 USD of exposure, ten times the account. It fits the risk only because the stop is very close. If your broker's margin rules cap you lower than the leverage field suggests, leverage is the constraint that bites next.
What this page covers
The instrument list holds 131 instruments — 67 forex pairs including majors, minors and crosses, 4 metals, 3 energies, 12 index CFDs, 43 crypto futures quoted in USDT, plus entries for a stock ticker of your choosing and a fully manual instrument. For each one the pip size, contract size and unit step come from the open reference dataset published alongside this site, and each field is editable in case your broker quotes it differently.
Those specifications are typical retail defaults, not values published by an exchange. Contract size and minimum lot vary between brokers and occasionally between account types at the same broker, so check yours against the deal ticket before trusting a number produced here.
One forex detail is worth stating plainly: on pairs quoted in JPY a pip is 0.01 of price rather than 0.0001, and the conversion is handled automatically. When your account currency is the base currency of the pair — a USD account trading USD/JPY, or a euro account trading EUR/GBP — the conversion is derived from the entry price you type. When it is neither the base nor the quote of the pair, no rate exists on the page, and it says so in the note above the results rather than guessing one.
Units, lots and what people call this
Whether a platform asks for lots, units or contracts, it is asking the same question: how much of the base currency. This page answers in both, so a forex lot size calculator and a unit calculator are the same two fields read two ways. Because the stop is entered in pips rather than as two prices, it also behaves as a straightforward forex lot calculator when you already know how far your stop is from entry.
Two habits make the result trustworthy. First, enter the stop distance you will actually use, not the one you hope for — widening the stop after sizing is how a 1% trade becomes a 2% trade. Second, treat Max loss at stop as the number that matters: it is computed from the size you can actually place, so it already accounts for the spread, the fee and the rounding. That last check is what turns this from a trading position size calculator into a tradable instruction.
The lot size explainer covers what a standard, mini, micro and nano lot is if the vocabulary is new, and the full forex sizing walkthrough works the same arithmetic in price terms instead of pips.
FAQ
How many lots should I trade if I risk 1% per trade?
It depends entirely on the stop distance, which is why there is no fixed answer. Enter your balance, set the risk to 1%, and type the stop distance in pips: 1% of a 10,000.00 USD account with a 20-pip stop and no costs is 50,000 units, or 0.50 standard lots, and the same budget with a 100-pip stop is a tenth of that. Set the stop first, then read the size.
Why is the result smaller than the raw formula gives?
Two reasons, both shown on the results panel. The spread and the commission are taken out of your risk budget before sizing, and the size is then rounded down to the increment your broker accepts. The raw figure is also printed next to it, under Size if costs were ignored.
Does it work when my account currency is different from the pair?
Yes. If your account currency is the base currency of the pair, the conversion is derived from the entry price you entered. Otherwise type your own rate into Quote → account rate. If the page has no rate available at all, the note above the results warns you that the conversion has been treated as 1 to 1 instead of applying a rate it cannot know.
Can I use it for gold, indices and crypto futures?
Yes. Gold uses dollars rather than pips, so enter the stop distance as a pip count at a pip size of 0.01. Index CFDs and crypto futures come with their own contract sizes and steps already filled in, both editable.
Why does my small account show a size of zero?
Because the size your risk allows is below the smallest increment set in the panels above, and rounding down from there leaves nothing. Either risk more per trade, use a wider stop, or move to a broker that accepts smaller increments — the small-account page walks through that decision.
Do I need an account, and is anything uploaded?
No and no. There is no sign-up, no login and no pop-up. The whole page is one HTML file, one stylesheet and one script, and every calculation runs in your browser.