Hledger is a free, open-source accounting tool that stores your books as plain text files. It is aimed at developers, privacy-minded users and anyone who wants to track a crypto portfolio, expenses or investments with full control over the data. Instead of a database locked inside a proprietary app, every transaction lives in a readable journal file that you can version, back up and search.
The program is built around double-entry bookkeeping, the same method used by professional accountants. It handles several currencies at once, which makes it useful when a portfolio is spread across fiat, stablecoins and tokens. The current release line is 1.52.4, and the project is actively developed, with work on a 2.x series already under way in the main branch.
What Is Plain Text Accounting?
Plain text accounting means that your financial records are stored as ordinary text files rather than in a binary database. Each transaction is written as a short entry with a date, a description and postings that move amounts between accounts.
Because the files are plain text, they work well with version control systems such as Git. You can see exactly when a transaction was added or changed, and you can restore an earlier state if something goes wrong. The format is also easy to read years later, even if the software that created it no longer exists.
Who Is Hledger For?
Hledger suits people who are comfortable with a command line or who want to learn one. Developers, sysadmins and technically minded freelancers often prefer it because they can script their reports and keep their books alongside their code.
It is less suited to someone who wants a point-and-click app with automatic bank syncing and polished charts out of the box. Users in that category may find the learning curve steeper than they expect, though the built-in tutorials help reduce it.
Practical Use Cases for Crypto Portfolios
One common use is recording a crypto portfolio as a set of journal entries. Each purchase, sale, transfer and fee becomes a transaction with clear accounts for wallets, exchanges and cost basis. This gives you a transparent history that you can audit line by line.
Another use is preparing data for tax work. Exporting balances and transaction lists as CSV or JSON lets you feed them into a spreadsheet or a separate tax tool. Hledger does not calculate taxes for you, but it keeps the underlying records organized and reproducible.
A third use is personal budgeting. Since the engine handles several currencies, you can track everyday spending in fiat alongside holdings in other assets within the same file.
How Does the Accounting Engine Work?
Hledger reads the journal file, parses each transaction and checks that the postings balance. In double-entry bookkeeping, every movement of value has a matching entry, so the total of all accounts always sums to zero. This built-in check catches many typing mistakes.
Once the journal is parsed, the engine can produce balance reports, register views and summaries for any period you specify. Because the calculation is deterministic, running the same command on the same file always gives the same result, which makes it easy to verify numbers.
Why Choose Plain Text Over Spreadsheets?
Spreadsheets are flexible but fragile. Formulas break when rows are inserted, and it is hard to tell whether two cells represent the same transaction. A plain text journal enforces a consistent structure and makes errors visible when a balance does not add up.
Plain text also separates the data from the presentation. You can change how reports look without touching the records, and you can run several reports from the same source. Many users find that this separation makes long-term record keeping more reliable.
Key features
Built-in documentation and learning material
Several user interfaces
Strong CSV import and export
Multi-currency accounting engine
High precision arithmetic
Flexible naming and number formats
Compatibility with Ledger and Beancount
Scripting and automation
Supported coins
Hledger is a general accounting tool, so it does not depend on a fixed list of exchanges or blockchains. You record whatever assets you hold as commodities in your journal, using the names and symbols you choose. Its multi-currency engine and high precision arithmetic are what make it suitable for crypto balances, including tokens with many decimal places.
How to install Hledger on Windows
PS> winget install simonmichael.hledger - 1
Open a terminal
Open Windows Terminal, PowerShell or Command Prompt. Winget is included with recent versions of Windows 10 and Windows 11.
- 2
Run the install command
Enter winget install simonmichael.hledger and press Enter. Winget downloads the package and installs it. Accept any prompts that appear.
- 3
Confirm the installation
Close and reopen the terminal, then type hledger --version. If a version number appears, the program is installed and available on your path.
-
Download only from the official website
If you prefer a manual install, download the package only from the official website or the project's GitHub Releases page. Do not use mirrors or links from unknown sites.
System requirements
- Windows with winget available for the simplest installation method
How to use Hledger
Hledger works from a journal file, so the first step is to create one and add a few transactions. Once you are comfortable with the format, you can run reports from the command line or open the web interface for a visual view.
- Create a new text file, for example journal.journal, in a folder you control.
- Add an opening balance entry with a date and the accounts involved.
- Record a transaction by writing the date, a description and two or more postings that balance.
- Run hledger -f journal.journal balance to see account totals.
- Run hledger -f journal.journal register to list transactions in order.
- Import a bank or exchange CSV file with the CSV rules feature and check the results.
- Start the web interface with hledger-web -f journal.journal and open the address it prints in your browser.
- Back up the journal file and keep it under version control.
Pros & cons
- Free and open-source under GPL-3.0
- Plain text files are readable and easy to version
- Multi-currency engine with 255 decimal places of precision
- Several interfaces, including command line, terminal and web
- Strong CSV import and export
- Built-in documentation and tutorials
- Compatible with Ledger CLI and convertible to Beancount
- Command-line focus may be intimidating for beginners
- No automatic bank or exchange syncing
- Requires manual journal maintenance
- Fewer visual dashboards than consumer finance apps
- Tax calculations must be done with separate tools
Is Hledger safe?
Hledger is open-source software, so its code can be reviewed publicly. To install it safely, use winget with the package name simonmichael.hledger or download the release from the official project page on GitHub. After downloading a file by hand, compare its SHA-256 checksum with the value published by the project, and check a signature if one is provided. Never install accounting tools from third-party download sites. Hledger does not hold your private keys, but your journal may contain sensitive financial details, so store it on an encrypted drive and avoid uploading it to unknown online services. Antivirus tools will not normally flag a well-known package like this, but if one does, check the source before ignoring the warning.
- Official source only. Download from github.com/simonmichael. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Hledger differs from several programs in this catalog in its focus. Raccoin and Rotki are built around tracking a crypto portfolio and generating tax-related reports with a graphical interface, which suits users who want automated calculations. Hledger instead gives you a plain text ledger that you control line by line, with no automatic data fetching.
Tools such as Double Entry Generator solve a different problem: they convert records from payment platforms into Beancount or Ledger format, and hledger can be a natural destination for those journals. Ticker and Cointop are terminal trackers for prices and holdings, while hledger is a full accounting system. If you want to see market prices, a tracker may be the better fit; if you want auditable books, hledger is the stronger choice.
Specifications
- Price
- Free
- Type
- Open source
- License
- GPL-3.0
- Latest version
- 1.52.4
- Last update
- —
- Windows support
- Yes (available via winget)
- Official site
- github.com/simonmichael
- Source code
- github.com/simonmichael/hledger
- Install command
- winget install simonmichael.hledger
Frequently asked questions
Yes. Hledger is free software licensed under the GNU General Public License v3.0 or later. You can install it on Windows with winget using the package name simonmichael.hledger, and there is no paid version that unlocks features.
Open a terminal and run winget install simonmichael.hledger. After installation, close and reopen the terminal and type hledger --version to confirm it works. If you install manually, download only from the official website or GitHub Releases.
Yes. You can record crypto assets as commodities in your journal and track balances across several currencies. Hledger does not fetch live prices automatically, so you enter values yourself or import them from a CSV file.
No. Hledger does not sync with exchanges or banks directly. You download statements or transaction exports from those services and import them as CSV files, then review the imported entries before they become part of your journal.
Hledger is inspired by Ledger CLI and is partly compatible with its journal format, but it is a separate project with its own features and interfaces. Many users move between them, and hledger journals can be converted to Beancount as well.
The software itself does not store your keys or send data anywhere, but you should protect the journal file it creates. Keep it on an encrypted drive, make backups and avoid sharing it with services you do not trust.
Basic familiarity with the command line helps, but you do not need to be a programmer. The project provides tutorials and videos for beginners, and you can start with a simple journal of a few transactions.
Yes, in a sense. Hledger includes a web interface and a terminal interface, so you can work visually in a browser or in a text-based dashboard without writing commands for every report.
Verdict
Hledger is a solid choice for people who want complete control over their financial records and are willing to learn a plain text workflow. It is free, open-source and well documented, and it handles multiple currencies with great precision. If you prefer automatic syncing and polished charts, a graphical tracker from this catalog may suit you better. If you value transparent, auditable books that you can version and script, hledger is worth installing and trying with a small journal first.