Crypto Tax Tracker Google Sheets (2026)
TL;DR
Track your crypto capital gains and losses in Google Sheets using CoinTable formulas for live market prices. This guide covers FIFO and LIFO cost-basis methods, a complete tax-tracking spreadsheet layout, and formulas for calculating realized and unrealized gains. Not a substitute for professional tax advice.
Why You Need a Crypto Tax Tracker
If you bought, sold, or traded cryptocurrency in 2025 or 2026, you likely owe taxes on your gains. Tax authorities in the US (IRS), UK (HMRC), EU, Australia, and most other jurisdictions require you to report:
- Realized gains/losses — Profit or loss when you sell or trade crypto
- Income — Crypto received as payment, mining rewards, staking rewards, or airdrops
- Cost basis — What you originally paid for the crypto you disposed of
CoinTable, a Google Sheets add-on for cryptocurrency prices, gives you live market data to calculate unrealized gains on coins you still hold. Combined with a simple transaction log, you get a complete tax-tracking spreadsheet.
For the basics on pulling crypto prices into Sheets, see how to get crypto prices in Google Sheets.
Basic Tax Tracking Spreadsheet Structure
Start with a transaction log that records every buy and sell:
Transaction Log Columns
| Column | Header | Description |
|---|---|---|
| A | Date | Transaction date |
| B | Type | BUY or SELL |
| C | Coin | Ticker symbol (BTC, ETH, etc.) |
| D | Amount | Number of coins |
| E | Price per Coin | Price at time of transaction |
| F | Total Cost / Proceeds | Amount × Price |
| G | Fee | Exchange or network fee |
| H | Net Amount | Total minus fee |
Formulas for the Transaction Log
F2 (Total): =D2*E2
H2 (Net Amount): =IF(B2="BUY", -(F2+G2), F2-G2)
For buy transactions, the net amount is negative (money out). For sell transactions, it's positive (money in).
Example Transaction Log
| Date | Type | Coin | Amount | Price | Total | Fee | Net |
|---|---|---|---|---|---|---|---|
| 2025-06-15 | BUY | BTC | 1.0 | $60,000 | $60,000 | $30 | -$60,030 |
| 2025-09-20 | BUY | BTC | 0.5 | $70,000 | $35,000 | $18 | -$35,018 |
| 2025-11-10 | BUY | ETH | 10 | $2,800 | $28,000 | $14 | -$28,014 |
| 2026-01-05 | SELL | BTC | 0.5 | $95,000 | $47,500 | $24 | $47,476 |
| 2026-02-18 | SELL | ETH | 5 | $3,200 | $16,000 | $8 | $15,992 |
Using CoinTable for Unrealized Gains
For coins you still hold, CoinTable provides live prices to calculate unrealized gains — positions that haven't been sold yet.
Holdings Summary Sheet
Create a separate sheet that aggregates your current holdings:
Current Price: =CT_PRICE(A2)
Current Value: =CT_PRICE(A2) * B2
Cost Basis: =C2 * B2
Unrealized P&L: =CT_PRICE(A2) * B2 - C2 * B2
Unrealized P&L %: =(CT_PRICE(A2) - C2) / C2 * 100
Holdings Summary Layout
| Coin | Qty Held | Avg Cost | Current Price | Cost Basis | Current Value | Unrealized P&L |
|---|---|---|---|---|---|---|
| BTC | 1.0 | $63,365 | =CT_PRICE("BTC") | $63,365 | =CT_PRICE("BTC")*B2 | =F2-E2 |
| ETH | 5 | $2,800 | =CT_PRICE("ETH") | $14,000 | =CT_PRICE("ETH")*B3 | =F3-E3 |
The "Qty Held" and "Avg Cost" columns should be calculated from your transaction log. More on that in the FIFO and LIFO sections below.
FIFO: First In, First Out
FIFO is the most commonly used cost-basis method. Under FIFO, when you sell coins, the cost basis comes from the oldest purchase first.
FIFO Example
Let's walk through a concrete scenario with three transactions:
Purchases:
- Buy 1.0 BTC at $60,000 (June 2025)
- Buy 0.5 BTC at $70,000 (September 2025)
Sale: 3. Sell 0.5 BTC at $95,000 (January 2026)
FIFO Calculation:
Under FIFO, the 0.5 BTC sold comes from the first purchase (June 2025 at $60,000):
Proceeds: 0.5 × $95,000 = $47,500
Cost Basis: 0.5 × $60,000 = $30,000 (from the FIRST purchase)
Capital Gain: $47,500 - $30,000 = $17,500
Remaining holdings after sale:
| Lot | Coins | Cost per Coin | Acquired |
|---|---|---|---|
| Lot 1 (remainder) | 0.5 BTC | $60,000 | June 2025 |
| Lot 2 | 0.5 BTC | $70,000 | September 2025 |
| Total | 1.0 BTC | $65,000 avg | — |
The remaining 0.5 BTC from Lot 1 and all 0.5 BTC from Lot 2 are still held. Your average cost basis for the remaining 1.0 BTC is $65,000.
FIFO Formulas in Google Sheets
Implementing pure FIFO in Sheets requires tracking individual lots. Here's a simplified approach:
Create a "Lots" sheet:
| Lot # | Date | Coin | Qty Purchased | Cost per Coin | Qty Remaining | Status |
|---|---|---|---|---|---|---|
| 1 | 2025-06-15 | BTC | 1.0 | $60,000 | 0.5 | Partial |
| 2 | 2025-09-20 | BTC | 0.5 | $70,000 | 0.5 | Open |
When you sell, manually update the "Qty Remaining" column starting from the oldest lot. Then calculate the gain on your sales sheet:
Realized Gain = Sell Proceeds - (Qty Sold × Cost per Coin from Oldest Lot)
For sales that span multiple lots (e.g., selling 1.2 BTC when Lot 1 has only 0.5 remaining), split the calculation:
Gain from Lot 1: 0.5 × ($95,000 - $60,000) = $17,500
Gain from Lot 2: 0.7 × ($95,000 - $70,000) = $17,500
Total Gain: $35,000
LIFO: Last In, First Out
LIFO assigns the cost basis from the most recent purchase first. Using the same transactions:
LIFO Calculation:
The 0.5 BTC sold comes from the second purchase (September 2025 at $70,000):
Proceeds: 0.5 × $95,000 = $47,500
Cost Basis: 0.5 × $70,000 = $35,000 (from the LAST purchase)
Capital Gain: $47,500 - $35,000 = $12,500
FIFO vs. LIFO Comparison
| Method | Cost Basis | Proceeds | Capital Gain | Tax Impact |
|---|---|---|---|---|
| FIFO | $30,000 | $47,500 | $17,500 | Higher tax |
| LIFO | $35,000 | $47,500 | $12,500 | Lower tax |
In this example, LIFO results in a lower capital gain because the more expensive lot is used as the cost basis. However, LIFO is not allowed in all jurisdictions — the IRS generally requires FIFO unless you specifically identify which lots you're selling.
Check with your tax professional which method is permitted in your jurisdiction before choosing.
Short-Term vs. Long-Term Gains
In the US and many other countries, how long you held a coin affects your tax rate:
| Holding Period | Classification | US Tax Rate (2026) |
|---|---|---|
| Less than 1 year | Short-term capital gain | Taxed as ordinary income (10-37%) |
| 1 year or more | Long-term capital gain | Preferential rate (0-20%) |
Add a "Holding Period" column to your sales sheet:
=DATEDIF(Purchase Date, Sale Date, "D")
And a "Term" column:
=IF(Holding Period >= 365, "Long-term", "Short-term")
Example Sales Sheet with Holding Period
| Sale Date | Coin | Qty | Proceeds | Cost Basis | Gain/Loss | Days Held | Term |
|---|---|---|---|---|---|---|---|
| 2026-01-05 | BTC | 0.5 | $47,500 | $30,000 | $17,500 | 204 | Short-term |
| 2026-02-18 | ETH | 5 | $16,000 | $14,000 | $2,000 | 101 | Short-term |
Tracking Multiple Coins
For a portfolio with multiple cryptocurrencies, you need a separate lot-tracking system per coin. The simplest approach:
- One "Transactions" sheet — All buys and sells in chronological order
- One "Lots" sheet per coin — BTC Lots, ETH Lots, SOL Lots, etc.
- One "Sales" sheet — All realized gains/losses with FIFO cost basis applied
- One "Holdings" sheet — Current unrealized positions with CoinTable formulas
Holdings Formulas
Current Price: =CT_PRICE(A2)
Market Value: =CT_PRICE(A2) * B2
Unrealized Gain: =CT_PRICE(A2) * B2 - C2
For a broader portfolio tracking setup beyond tax purposes, see our crypto portfolio tracker in Google Sheets guide.
Handling Special Tax Events
Crypto tax tracking goes beyond simple buy/sell transactions. Here are events you should also log:
Staking Rewards
Staking rewards are typically taxed as income at the fair market value when received:
| Date | Event | Coin | Amount | FMV per Coin | Income Value |
|---|---|---|---|---|---|
| 2026-01-15 | Staking | ETH | 0.01 | $3,100 | $31.00 |
| 2026-02-15 | Staking | ETH | 0.01 | $3,250 | $32.50 |
The income value becomes your cost basis if you later sell those coins.
Airdrops
Similar to staking — taxed as income at FMV when received.
Crypto-to-Crypto Swaps
Swapping one crypto for another (e.g., ETH → SOL) is a taxable event in most jurisdictions. Record it as a sell of the first coin and a buy of the second.
Year-End Tax Summary
Create a summary sheet that aggregates your full-year activity:
| Category | Amount |
|---|---|
| Total Short-Term Gains | =SUMIFS(Sales!F:F, Sales!H:H, "Short-term", Sales!F:F, ">0") |
| Total Short-Term Losses | =SUMIFS(Sales!F:F, Sales!H:H, "Short-term", Sales!F:F, "<0") |
| Net Short-Term | =B2+B3 |
| Total Long-Term Gains | =SUMIFS(Sales!F:F, Sales!H:H, "Long-term", Sales!F:F, ">0") |
| Total Long-Term Losses | =SUMIFS(Sales!F:F, Sales!H:H, "Long-term", Sales!F:F, "<0") |
| Net Long-Term | =B5+B6 |
| Staking/Airdrop Income | =SUM(Income!F:F) |
| Total Taxable | =B4+B7+B8 |
Limitations: When to Use a Dedicated Tax Tool
A Google Sheets tax tracker works well for:
- Small portfolios (fewer than 50 trades per year)
- Simple buy-and-sell patterns
- One or two exchanges
It becomes impractical when you have:
- Hundreds of trades — Manual lot tracking becomes error-prone
- DeFi activity — Yield farming, liquidity pools, and complex swaps are difficult to track manually
- Multiple exchanges and wallets — Importing and reconciling data from 5+ sources is tedious
For heavy traders, dedicated crypto tax software handles the complexity automatically:
| Tool | Starting Price | Transactions | FIFO/LIFO Support |
|---|---|---|---|
| Koinly | Free (up to 10K txns for tracking) | Unlimited (paid for tax reports) | Yes |
| CoinTracker | $59/year | 1,000 | Yes |
| TokenTax | $65/year | 500 | Yes |
| CoinLedger | $49/year | 100 | Yes |
You can still use CoinTable in Sheets alongside these tools — many people use the spreadsheet for ongoing portfolio monitoring and a dedicated tool for year-end tax filing.
For formula references and more CoinTable functions, see the crypto formulas cheat sheet.
Getting Started
- Install CoinTable — Get it from Google Workspace Marketplace for live price data
- Create a Transactions sheet — Log every buy, sell, and income event
- Set up Lot tracking — One section per coin, sorted by date
- Record sales with cost basis — Apply FIFO (or your jurisdiction's required method)
- Build a Holdings sheet — Use
=CT_PRICE()formulas for unrealized gains - Generate a year-end summary — Aggregate short-term, long-term, and income totals
If you want a starting template, our best crypto Google Sheets templates article includes a tax helper layout you can adapt.
Disclaimer: This article is for informational purposes only and does not constitute tax, legal, or financial advice. Cryptocurrency tax laws vary by jurisdiction and change frequently. Always consult a qualified tax professional for advice specific to your situation.
Frequently Asked Questions
Do I need to pay taxes on crypto?
In most countries, yes. Cryptocurrency is treated as property or an asset, and selling, trading, or converting crypto triggers a taxable event. Capital gains (or losses) must be reported. Always consult a tax professional for your specific situation.
Can Google Sheets replace dedicated crypto tax software?
For simple portfolios (fewer than 50 trades per year), a Google Sheets tracker can work well. For complex situations with hundreds of trades across multiple exchanges, dedicated tools like Koinly or CoinTracker are more practical as they auto-import from exchanges.
What is FIFO vs LIFO for crypto taxes?
FIFO (First-In-First-Out) means you sell your oldest coins first. LIFO (Last-In-First-Out) means you sell your newest coins first. FIFO is the default method in most jurisdictions. The method affects your cost basis and capital gain calculation.
How do I calculate crypto capital gains in Google Sheets?
Capital gain = Sale proceeds - Cost basis. Use =CT_PRICE("BTC") for current market values. For realized gains: Sale Price * Quantity Sold - Purchase Price * Quantity Sold. Track each buy/sell transaction with dates and amounts.
Is this spreadsheet tax advice?
No. This spreadsheet is a tracking and organization tool only. Tax laws vary by country and change frequently. Always consult a qualified tax professional for advice specific to your situation.
Stop copying prices manually
Free covers 300 requests a month. Plus is $5/month for unlimited requests and 10,000+ coins.
Related Articles
View allCrypto Portfolio Tracker in Google Sheets (Free Template, 2026)
Build a free crypto portfolio tracker in Google Sheets with CoinTable. Live prices, P&L, 24h changes. Step-by-step guide with formulas.
10 min readDCA Calculator for Crypto in Google Sheets (2026)
Build a free crypto DCA calculator in Google Sheets with CoinTable. Track your dollar-cost averaging strategy with live prices and P&L.
8 min readGOOGLEFINANCE Crypto — Limitations & Better Alternatives (2026)
GOOGLEFINANCE only supports ~10 crypto coins with 20-min delay. Learn its limitations and switch to CoinTable for 10,000+ coins in Google Sheets.
8 min read