Robust plain text accounting.

hledger is an elegant, versatile accounting program, for tracking money, time, or other commodities, on unix, mac and windows, with command line, terminal and web interfaces. If you know a little double entry accounting, it can be a fast, dependable, secure alternative to applications like Quicken, Xero, or GnuCash. (And if you don’t, it is a great way to learn.)

hledger is one of the leading implementations of plain text accounting, and is a modern and largely compatible reimplementation of Ledger. Compared to the others, hledger is robust, consistent, and intuitive, with excellent documentation.

hledger is cross platform GNU GPLv3 free software, written in Haskell. The project is led by Simon Michael, with 100+ contributors. I’ve been building and relying on hledger since 2007; I hope you too will find it helpful in mastering your time and money.

Quick start

Here’s the basic workflow when using hledger:

Step 1: Record your transactions in a plain text file. (Use hledger’s interactive assistant.. the web interface.. any text editor.. a shell alias.. CSV/OFX import..)

Step 2: Ask hledger about your accounts.. transactions.. balances.. currencies.. monthly averages.. budgets.. market values.. You can start very simply, and get more sophisticated as you learn more about double-entry accounting.

There is an enthusiastic and growing community practising this way of accounting. which can be quite educational and enjoyable. If you’d like more background, we have collected many useful resources at plaintextaccounting.org (see link above).

Read on for more about hledger, or if you’re keen to get going, download it and start the tutorial now!


Free software

hledger is Free software, created by Simon Michael and released under GNU GPLv3+.

I have been actively developing and using hledger since 2007, together with 80+ other committers and an unknown number of usually happy-sounding users.

inspired by Ledger

hledger is a Haskell reimplementation of the excellent Ledger. It remains substantially compatible with Ledger, and if you wish you can keep your data compatible with both. Read more about the differences in the FAQ.

a command-line tool

hledger is first a command-line tool. Your data lives in a plain text journal file which you can edit any way you wish; hledger reads that file and produces reports of various kinds, without changing your data. (It can help you add new transactions, but does not change existing ones.)

a console UI

hledger also provides a terminal interface that lets you review account balances and transactions quickly and without fuss. (screencast)

a web UI

And, a zero-setup web app for a more point-and-click experience (demo). Run it on your local machine, or on a server, or set it up with a few clicks on Sandstorm.

There’s also a UI running in the browser (hledger compiled with GHCJS). This is a prototype, but it’s nice sandbox for trying out hledger’s journal syntax.

a Haskell app and library

hledger is written in Haskell, a modern, highly-regarded programming language which contributes to hledger’s robustness, performance and long-term maintainability. Most functionality is exposed as reusable Haskell libraries, making it easy to write your own hledger-compatible scripts, add-ons and applications.   build status (travis)

fully documented

We practice documentation-driven development. Every feature must be well documented, and getting started must be easy.

focussed on serving users

hledger strives to be usable, practical and to provide real-world value. Intuitive features, bug-free operation and complete, accurate documentation are top goals. Currently it is particularly suited to techies, ie users who appreciate the power of text files, revision control, scriptability and double entry accounting.


IRC (Chat) #hledger on Freenode (#freenode_#hledger:matrix.org on Matrix)
Twitter: #hledger, #plaintextaccounting
Reddit: /r/plaintextaccounting
Hacker News: stories, comments
Mail list: list.hledger.org, hledger@googlegroups.com
Issues: bugs.hledger.org (bugs), issues.hledger.org (all), open issues overview, website issues
Other: simon@joyful.com

Help fund hledger!
Building and supporting good software and documentation costs a lot.

paypal open collective backers open collective sponsors bountysource