Koinly for Germany Taxes: Complete 2026 ELSTER Guide
Affiliate Disclosure: This article contains affiliate links. If you sign up for Koinly through a link on this page, I may earn a commission at no extra cost to you. I only recommend tools I have researched and believe are worth your time.
Tax Disclaimer: This article is for informational purposes only and does not constitute professional tax or financial advice. German tax laws are complex and individual circumstances vary significantly. Consult a qualified Steuerberater (tax advisor) for advice specific to your situation.
Koinly for Germany taxes is one of the most practical ways to generate an ELSTER-ready crypto tax report — and Germany’s tax rules make accurate software more valuable here than almost anywhere else. I am Andreas Maratheftis, with thirty years in professional finance, and the investors I see struggle most with German crypto tax are those who underestimate how much the one-year Haltefrist, the €1,000 Freigrenze threshold, and the FIFO cost basis requirement interact with each other. Koinly handles all three automatically when your account is configured for Germany — but only if the setup is right from the start.
Germany’s reporting environment is also becoming significantly more formal. The Kryptowerte-Steuertransparenz-Gesetz (KStTG), which came into force on 24 December 2025, requires crypto service providers to collect transaction data on their users from 2026, with the first reports due to the Bundeszentralamt für Steuern (BZSt) by 31 July 2027. You can read the official BZSt announcement on the BZSt CARF/DAC8 registration page. The era of informal crypto reporting in Germany is ending — and Koinly exists precisely to make compliant reporting manageable for individual investors.
After thirty years in finance, the pattern I see most clearly is that German crypto investors underestimate how many taxable events they have generated — particularly around crypto-to-crypto trades, staking income, and the interaction between the holding period and multiple acquisitions of the same asset. This guide covers the complete Koinly setup and filing workflow for German investors step by step.
If you haven’t set up Koinly yet, the free plan lets you import all your transactions and preview your tax position before paying anything: start with Koinly free here.
Koinly for Germany Taxes: Quick Answer
Set your Koinly home country to Germany and base currency to EUR. Connect all your exchanges and wallets. Let Koinly apply FIFO cost basis calculations and track your one-year holding periods automatically. Download your ELSTER-ready tax report. Log into the ELSTER portal, complete your Einkommensteuererklärung (income tax return), and submit by 31 July 2026 for the 2025 tax year. If you use a Steuerberater, your deadline is extended to 28 February 2027. That is the complete workflow — the sections below explain each step in detail including the German-specific rules that determine your tax position.
German Crypto Tax: What You Must Understand Before Using Koinly
Germany has several rules that make crypto tax fundamentally different from most other countries. Understanding them before setting up Koinly for Germany taxes ensures your report reflects your actual tax position correctly.
Crypto Is Taxed Under §23 EStG — Not as Capital Gains
Germany classifies cryptocurrency as “andere Wirtschaftsgüter” (other assets) under §23 of the Einkommensteuergesetz (EStG) — the Income Tax Act. This is a fundamentally different classification from countries like the UK or US. Crypto is not treated as capital income (Kapitalerträge) under §20 EStG, which means the flat 25% Abgeltungsteuer does not apply. Instead, short-term gains from crypto are added to your total taxable income and taxed at your personal income tax rate, which ranges from 14% to 45% depending on your total annual income.
The One-Year Holding Period (Haltefrist) — Germany’s Most Important Crypto Tax Rule
Under §23 EStG, cryptocurrency held for more than 12 months is completely tax-free upon disposal — regardless of the gain amount. This is Germany’s Haltefrist (holding period), and it is one of the most favourable provisions for long-term crypto investors anywhere in the world. A Bitcoin purchased on 1 January 2025 and sold on or after 2 January 2026 generates zero taxable income, no matter how large the gain.
This rule makes accurate acquisition date tracking critical. Koinly tracks the purchase date of every asset and identifies which disposals qualify for the tax-free treatment automatically — but only when all acquisition transactions are correctly imported. A missing purchase record means Koinly cannot determine the holding period, and the disposal may incorrectly appear as short-term taxable.
The €1,000 Freigrenze for Short-Term Gains
For short-term gains — disposals of crypto held less than 12 months — Germany provides a Freigrenze (exemption threshold) of €1,000 per calendar year under §23 (3) EStG. This threshold was increased from €600 to €1,000 under the Jahressteuergesetz 2024.
A critical distinction: the Freigrenze is a threshold, not an allowance. If your total short-term gains stay below €1,000, none of it is taxable. If your gains exceed €1,000 — even by one euro — the entire amount becomes taxable, not just the excess above the threshold. This all-or-nothing structure makes it strategically important to track your short-term gains throughout the year, not just at filing time. Koinly’s tax summary shows your running short-term gain position so you can make informed decisions before year-end.
The Freigrenze applies to combined private disposal gains — not only crypto. If you also sell gold, art, or other §23 assets at a gain during the same year, those gains count toward the same €1,000 threshold.
FIFO Cost Basis — Required When Lots Cannot Be Identified
Germany uses FIFO (First In, First Out) as the required cost basis method when specific acquisition lots cannot be identified. This means if you made multiple purchases of the same cryptocurrency at different prices, Koinly calculates your gains by treating the earliest-purchased coins as the ones sold first. Koinly applies FIFO automatically when your home country is set to Germany.
What Counts as a Taxable Event in Germany
For German private investors, the following are taxable events under §23 EStG:
- Taxable disposals: Selling crypto for euros, trading one crypto for another, spending crypto on goods or services, gifting crypto (the gifting itself may not be taxable but resets the holding period for the recipient)
- Not taxable: Transferring crypto between wallets you own — as long as you maintain full ownership throughout. Buying crypto with euros is also not a taxable event.
- Income events: Staking rewards and mining income are generally taxed as “other income” under §22 EStG at your marginal income tax rate. A separate Freigrenze of €256 per calendar year applies to this additional income — if you earn below €256 from staking and similar sources, it is tax-free. Exceeding the threshold makes the entire amount taxable.
Solidarity Surcharge and Church Tax
In addition to income tax, most German taxpayers pay the Solidaritätszuschlag (solidarity surcharge) of 5.5% on their income tax liability. Since 2021, the surcharge has been eliminated for the majority of lower and middle income taxpayers, but higher earners still pay it. Church tax (Kirchensteuer) of 8–9% of the income tax liability may also apply depending on your religious registration. Koinly calculates your gross tax position — your Steuerberater or ELSTER will apply the appropriate surcharges.

How to Use Koinly for Germany Taxes: Step-by-Step Setup
Step 1: Configure Your Koinly Settings for Germany
Sign up at koinly.io or log into your existing account. Go to Settings and configure the following:
- Home Country: Germany — this activates FIFO cost basis, the one-year holding period tracking, and German report formats
- Base Currency: EUR — all values must be expressed in euros for German tax purposes
- Tax Year: Confirm the calendar year date range (1 January to 31 December) is correctly applied
Setting Germany as your home country is the single most important configuration step. Without it, Koinly will not track your one-year holding periods correctly or generate the ELSTER-compatible report format German investors need.
Step 2: Connect All Your Exchanges and Wallets
Connect every exchange and wallet where you held or transacted with crypto during the tax year. Koinly supports all major exchanges used by German investors — Binance, Coinbase, Kraken, Bitpanda, and hardware wallets including Ledger and Trezor — along with hundreds of other platforms.
For Germany specifically, complete transaction history is more important than in most countries because of the holding period rule. If Koinly has incomplete acquisition records, it cannot determine whether a disposal qualifies for tax-free treatment under the Haltefrist. A missing purchase from two years ago could result in a disposal being incorrectly classified as short-term and fully taxable when it should be tax-free. Connect everything.
Step 3: Review Data Warnings
After importing, check the Transactions tab for warnings. For German investors the two most critical to resolve:
- Missing purchase history: A disposal where Koinly has no matching acquisition. Without the acquisition date, Koinly cannot determine whether the Haltefrist applies. This is the most consequential error for German investors — resolve all missing purchase history warnings before generating your report.
- Unmatched transfers: Internal wallet transfers that Koinly cannot confirm as non-taxable. Ensure all wallets are connected so Koinly can confirm ownership throughout.
For guidance on resolving data warnings, see Koinly’s official accuracy guide: how to ensure your Koinly report is accurate. If your gains look unexpectedly high after importing, see our guide on fixing incorrect gains in Koinly.
Step 4: Review Your German Tax Summary
Navigate to Tax Reports in Koinly and review your tax summary for the relevant calendar year. On the free plan you can see your total short-term gains, long-term gains (tax-free), income from staking, and losses before purchasing a report. Verify that the split between short-term and long-term gains looks correct given your trading activity. If long-term holdings are showing as short-term, check for missing acquisition records in Step 3.

Step 5: Purchase a Plan and Download Your German Tax Report
Once your data is clean and the summary looks correct, purchase the Koinly plan that covers your transaction volume for the calendar year. Check your transaction count in the Koinly dashboard before purchasing to ensure you select the correct tier. For current plan costs, see our Koinly pricing guide or verify at koinly.io/pricing.
From the Tax Reports page, select Germany as your jurisdiction and download the ELSTER-compatible report. Koinly generates both a capital gains report and an income report — download both if you have staking or mining income to declare.
Check your transaction count on Koinly’s free plan here before purchasing so you select only the tier you need.
How to File Your Koinly Report via ELSTER
Once you have your Koinly German tax report, the filing process involves entering the figures into your Einkommensteuererklärung via ELSTER. Here is the step-by-step process.
Step 1: Register for ELSTER If Needed
If you have not previously used ELSTER, register at elster.de. You will need your tax identification number (Steueridentifikationsnummer) which is assigned to every German resident. Allow time for the activation process — ELSTER sends activation letters by post which can take several days.
Step 2: Complete the Einkommensteuererklärung
Log into ELSTER at elster.de and begin your Einkommensteuererklärung for the 2025 tax year. Your crypto transactions will be reported in the Anlage SO (Sonstige Einkünfte — Other Income) section of the return, which covers §23 EStG private disposal transactions.
From your Koinly German tax report, you will need:
- Short-term gains: Total proceeds from disposals held less than 12 months, minus acquisition costs and transaction fees — enter in Anlage SO
- Long-term gains: These are tax-free under the Haltefrist and do not need to be reported
- Staking and mining income: Enter in the relevant “other income” section — report in Anlage SO under §22 EStG if above the €256 Freigrenze
The exact ELSTER screen layout and field names can change between tax years. Follow the current ELSTER prompts for private disposal transactions and refer to your Koinly report for the figures. If you are unsure which fields to use, consult a Steuerberater — German tax returns for crypto investors can be complex, particularly if you have many transactions across multiple asset types.
Step 3: Submit by 31 July 2026
Submit your completed Einkommensteuererklärung for the 2025 tax year via ELSTER by 31 July 2026. If you have engaged a Steuerberater to file on your behalf, the deadline is extended to 28 February 2027. German residents are required to keep records of crypto transactions for the applicable retention period under §147 AO — your Koinly transaction history and downloaded reports support this documentation requirement.
A Worked Example: German Crypto Tax with Koinly
Here is a realistic scenario showing how Koinly calculates your German crypto tax position for the 2025 tax year.
Your situation:
- You bought 0.5 BTC in March 2024 for €15,000
- You sold it in May 2025 for €22,000 — held for more than 12 months
- Capital gain: €7,000 — completely tax-free under the Haltefrist
- You also bought 1 ETH in August 2025 for €2,000 and sold it in November 2025 for €2,900 — held less than 12 months
- Short-term gain: €900 — below the €1,000 Freigrenze, tax-free
- You received €180 in staking rewards during 2025 — below the €256 Freigrenze, tax-free
Result: In this scenario, you owe zero crypto tax for 2025. Koinly identifies the BTC holding period as long-term, confirms the ETH gain falls below the Freigrenze, and confirms staking income is below the §22 threshold. Your ELSTER filing still needs to reflect your activity — even tax-free gains may need to be reported — but no tax is due.
Now change one variable: your short-term ETH gain is €1,100 instead of €900. Because you have exceeded the €1,000 Freigrenze, the entire €1,100 — not just the €100 excess — is taxable at your personal income tax rate. Koinly correctly flags this in the tax summary.

Do You Need to Report Crypto to the German Tax Office?
You may need to report crypto activity in Germany even if no tax is due. You are generally required to file a tax return if your short-term gains exceed the €1,000 Freigrenze, you have staking or mining income above €256, or you are already required to file an annual return for other reasons. Even if all your gains are long-term and tax-free, your Finanzamt may expect to see the transactions documented if you are asked.
From 2026, the BZSt receives transaction data from crypto service providers under KStTG. Accurate documentation and consistent reporting are more important now than before. Koinly gives you the complete transaction record and tax figures you need whether or not tax is ultimately due.
Common Mistakes When Using Koinly for Germany Taxes
Missing Acquisition Records — The Most Costly Error
For German investors, a missing purchase record does not merely inflate your gains — it may eliminate your entitlement to the Haltefrist entirely for that asset. If Koinly cannot find the acquisition date, it cannot confirm the one-year holding period was met. A disposal that should be completely tax-free may appear as fully taxable. Import your complete transaction history — including early purchases from 2020, 2021, and 2022 — before generating any report.
Treating Crypto-to-Crypto Trades as Non-Taxable
Swapping one cryptocurrency for another is a disposal event under §23 EStG in Germany — the same as selling for euros. Each crypto-to-crypto trade resets the holding period for the newly acquired asset. An investor who swaps BTC for ETH starts a new 12-month clock on the ETH from the date of the swap. Koinly identifies and calculates these automatically when all exchanges are connected via API.
Misunderstanding the Freigrenze Threshold Structure
The €1,000 Freigrenze is not an allowance — it is a threshold. Gains of €999 are completely tax-free. Gains of €1,001 are entirely taxable. Many investors assume they can earn €1,000 tax-free and only pay tax on gains above that amount, like a UK-style annual exempt amount. This is incorrect. The Koinly tax summary shows your running short-term gain total so you can see exactly where you stand relative to the threshold during the year.
Not Reporting Staking Income Correctly
Staking rewards are generally taxed as income in Germany under §22 EStG at your marginal income tax rate on the day you received them — not when you sell the staked assets. The subsequent sale of those staked assets generates a separate short-term or long-term disposal calculation from the income cost base. Koinly correctly separates staking income from capital gains in your German tax report. If your total staking income for the year remains below €256, it falls below the §22 Freigrenze and is tax-free. Confirm with a Steuerberater for complex staking arrangements.
Using the Wrong Cost Basis Method
Germany requires FIFO when specific lots cannot be identified. If your Koinly account is configured for another country, it may use a different cost basis method — HIFO or Average Cost — producing figures that do not comply with German tax rules. Always verify your home country is set to Germany before generating any report.
If your gains figures look unexpectedly high after importing all your exchanges, start with Koinly’s free plan here to review your complete tax position before purchasing a report.
What To Do Next
Set up your Koinly account with Germany as your home country and EUR as your base currency. Connect every exchange and wallet — paying particular attention to older platforms where you made purchases that may now qualify for the Haltefrist. Resolve all missing purchase history warnings. Review the short-term versus long-term gain split in your tax summary. Download your ELSTER-compatible report and file your Einkommensteuererklärung via ELSTER by 31 July 2026.
If you are new to Koinly, see our full Koinly review. For plan costs and transaction limits, see our Koinly pricing guide. For troubleshooting missing transaction data, see our guide on fixing Koinly missing transactions.
Start with Koinly free here — import your transactions, check your Haltefrist positions, and review your tax summary before spending anything.
Frequently Asked Questions
Does Koinly work for German crypto taxes?
Yes. Koinly generates ELSTER-compatible reports specifically for German investors. When your home country is set to Germany, Koinly automatically applies FIFO cost basis, tracks your one-year holding periods under §23 EStG, identifies tax-free long-term disposals, and separates staking income from capital gains. The report is structured for entry into your Einkommensteuererklärung via ELSTER or via a Steuerberater.
What is the German crypto tax filing deadline?
For the 2025 tax year (1 January to 31 December 2025), the filing deadline is 31 July 2026. If you engage a registered Steuerberater to file on your behalf, the deadline is extended to 28 February 2027. Germany uses calendar year tax reporting — unlike Australia and the UK which use April-based financial years.
Is crypto tax-free in Germany after one year?
Yes — for private investors. Under §23 EStG, cryptocurrency held for more than 12 months is completely tax-free upon disposal, regardless of the gain amount. This applies to Bitcoin, Ethereum, and all other cryptocurrencies. The one-year clock starts from the date of acquisition and resets with each new purchase. Koinly tracks your acquisition dates automatically and identifies which disposals qualify for this tax-free treatment.
What is the €1,000 Freigrenze for crypto in Germany?
The Freigrenze is an exemption threshold of €1,000 per calendar year for short-term gains from private disposal transactions under §23 (3) EStG. This threshold was increased from €600 to €1,000 under the Jahressteuergesetz 2024. Crucially, it is a threshold — not an allowance. If your total short-term gains stay below €1,000, nothing is taxable. If they exceed €1,000 by any amount, the entire gain becomes taxable. The threshold covers all §23 private disposal gains combined, including crypto, gold, and other assets — not crypto alone.
Is crypto-to-crypto trading taxable in Germany?
Yes. Trading one cryptocurrency for another is a disposal event under §23 EStG — the same as selling for euros. The gain or loss is calculated as the euro market value of the asset received minus the acquisition cost of the asset disposed of. The newly acquired asset starts a fresh 12-month holding period clock from the date of the swap. Koinly calculates these automatically for every crypto-to-crypto trade in your transaction history.
How is staking income taxed in Germany?
Staking rewards are generally taxed as “other income” under §22 EStG at your marginal income tax rate, based on the euro value on the day you received them. A separate Freigrenze of €256 per year applies — if your total staking and similar income stays below €256, it is tax-free. If it exceeds €256, the entire amount is taxable. The subsequent sale of staked assets is a separate disposal event under §23 EStG, with its own holding period from the date the rewards were received.
One important scope note: the current BMF crypto circular covers standard transactions including buying, selling, swapping, and common staking arrangements — but it explicitly does not address every DeFi scenario. NFT transactions, liquidity mining, and more complex DeFi activities are not fully covered in current official guidance. If your crypto activity goes beyond straightforward spot trading and basic staking, confirm the tax treatment with a qualified Steuerberater before filing.
What records do I need to keep for German crypto taxes?
German tax law under §147 AO sets record retention requirements — with periods of six, eight, or ten years depending on the type of document. For crypto investors, keeping complete transaction records including purchase dates, acquisition costs in euros, sale dates, sale proceeds in euros, wallet addresses, and exchange statements for as long as the longest applicable retention period is the safest approach. Koinly’s transaction history and downloaded tax reports support this documentation requirement. Confirm the specific retention periods applicable to your situation with a Steuerberater.
The Bottom Line
Using Koinly for Germany taxes is straightforward when configured correctly — and Germany’s generous Haltefrist makes accurate software more valuable here than almost anywhere else. The difference between a correctly tracked holding period and a missing acquisition record can be the difference between a tax-free disposal and a fully taxable one.
Configure Koinly for Germany, connect all your exchanges including older platforms with historical purchases, resolve all missing data warnings, and download your ELSTER-ready report. The Haltefrist and the €1,000 Freigrenze work in your favour — but only if your transaction data is complete enough for Koinly to apply them correctly.
Ready to get started? Try Koinly free here — import your transactions, check your holding period positions, and review your German tax summary before spending anything.
Related reading:
- Koinly Review: Is It the Best Crypto Tax Software in 2026?
- Koinly Pricing: Plans, Limits & Which One You Actually Need
- How to Use Koinly: Complete Step-by-Step Guide (2026)
- Koinly Showing Wrong Gains? How to Fix Cost Basis Errors
- Koinly Missing Transactions: Complete Fix Guide (2026)
