P2PTab

FIFO vs HIFO for Crypto: One Sale Worked Three Ways

By the P2PTab editors · Updated October 6, 2026

FIFO, LIFO, HIFO: One sale worked three ways

The method only matters when you sell part of what you hold and you bought at different prices. It decides which purchase the sale "used up", and that sets your gain. HIFO usually gives the smallest gain in the year you sell, FIFO sells your oldest coins first (which matters where holding time changes the tax), and all of them add up to the same total once everything is sold. Before comparing, check which methods your country accepts: South Africa and New Zealand, for example, don't allow HIFO at all.

The example

You bought bitcoin twice and sold some later. Fees are added to cost and subtracted from proceeds. The amounts are in US dollars to keep the arithmetic simple; the method works the same in rupees, rand or any other currency.

Date What happened Amount Dollars
10 Jan 2023 Buy 0.10 BTC $2,000 + $10 fee = $2,010
10 Jun 2023 Buy 0.10 BTC $3,000 + $15 fee = $3,015
10 Mar 2024 Sell 0.15 BTC $9,000 − $50 fee = $8,950

FIFO: first in, first out

The sale uses the oldest coins first: all of the January lot and half of the June lot.

  • Cost: $2,010 + (0.05 ÷ 0.10 × $3,015) = $2,010 + $1,507.50 = $3,517.50
  • Gain: $8,950 − $3,517.50 = $5,432.50
  • The January coins were held more than 12 months, the June coins less. In Australia that split matters: only the part from coins held at least 12 months gets the CGT discount.

LIFO: last in, first out

The sale uses the newest coins first: all of the June lot and half of the January lot.

  • Cost: $3,015 + (0.05 ÷ 0.10 × $2,010) = $3,015 + $1,005 = $4,020.00
  • Gain: $8,950 − $4,020 = $4,930.00, and more of it comes from coins held under 12 months.

HIFO: highest cost first

The June lot cost more per coin ($30,150 per BTC against $20,100), so HIFO picks the same coins as LIFO here and gives the same $4,020 cost. With more lots the two split apart: HIFO always reaches for the most expensive coins, whatever their date.

What stays with you after the sale

Every method leaves 0.05 BTC. Under FIFO it carries a $1,507.50 cost, under LIFO and HIFO $1,005. The smaller gain today means a larger one later when you sell the rest. Choosing a method moves gains between years; it doesn't make them disappear.

Which methods your country allows

Inland Revenue New Zealand page titled Calculating cryptoasset income, showing the formula sale price minus purchase cost minus transaction fees and two methods: first-in first-out and weighted average cost
Inland Revenue's page on calculating cryptoasset income lists two methods: first-in first-out and weighted average cost. Captured 6 October 2026.
Country What the tax authority accepts Details
Australia Identify the parcels you sold when your records show which ones they were; otherwise first-in, first-out Australia
South Africa First-in, first-out or specific identification; weighted average isn't allowed for crypto South Africa
New Zealand First-in, first-out or weighted average cost New Zealand
India No method set in the law; first-in, first-out is the usual choice. Each gain is taxed and losses can't offset it, so the method changes less than you'd think India
Pakistan No method set in the Income Tax Ordinance; first-in, first-out is the common choice Pakistan
Kenya The law doesn't settle whether individual crypto gains are taxed at all; keep full records either way Kenya

Where a choice exists, it's about records, not about picking the cheapest answer each year. Australia lets you name the parcels you sold only if your records support it, and switching methods from year to year to lower the bill invites questions anywhere. Pick one that fits your records and keep to it.

Run it on your own file

The cost basis calculator runs FIFO, LIFO, HIFO and average cost side by side on a real exchange export, in your browser, and the country pages preset it to the methods that country accepts. On the example above it gives the same figures as the working shown here, so you can check one against the other.