User Interfaces
Here is an overview of the user interfaces available for hledger. The official UIs are marked in bold. Last updated: 2026-04
Terminal
- hledger - the hledger command line tool
- hledger add - hledger’s built-in prompting data entry UI
- hledger-ui - a simple TUI
- dravik TUI for hledger viewing (python, 2025)
- hledger-edit open any subset of transactions in your editor (python, 2023)
- hledger-iadd TUI for h/ledger transaction entry (haskell, 2015..)
- hledger-textual TUI for hledger viewing/entry/editing (python, 2026)
- ldash TUI for viewing portfolio, net worth and monthly budget (rust, 2026)
- puffin TUI for hledger viewing (go, 2023..)
Graphical
- fruit-credits data entry/reporting GUI for hledger (vala+gnome, 2024)
- hledger-macos mac app for viewing/editing (swift, 2026)
- Surebeans YNAB clone using hledger data format, providing data entry, budgeting, reports (closed source, cross platform, C#, 2026)
Web
- hledger-web - a simple web app. See also: hledger-web tips
- hledger-webuix one-page local web app for hledger viewing, adding, editing (html+js, 2026)
- ledgeraccounting web UI for hledger: data entry, basic reports and budgets (python+js, 2018)
- muhasib-e-hledger web UI for hledger reports (rust, 2024)
- nextcloud-hledger hledger UI on the Nextcloud file-sharing/web-app platform (php, 2021)
- Paisa web UI or desktop app for ledger, hledger and beancount (go/js/ts, 2022.., demo)
Android
- cashier mobile or desktop client for ledger and hledger-web (Android/Desktop, js, 2019)
- MoLe mobile client for hledger-web (java, 2020)
- NanoLedger data entry app for h/ledger (kotlin, 2023..)
See also: Mobile apps
Test matrix
Here are some robustness tests for the main UIs. High-scoring apps get higher position! Help welcome, share updates in the chat room.
| language | install | otherfiles | otheryears | sample | accounttypes | bcexample | synthetic | misc issues | |
|---|---|---|---|---|---|---|---|---|---|
| Terminal | |||||||||
| hledger | haskell | Y | Y | Y | Y | Y | Y | Y | |
| hledger-ui | haskell | Y | Y | Y | Y | Y | Y | Y | |
| hledger-iadd | haskell | Y | Y | Y | Y | Y | Y | Y | |
| puffin | go | Y | N | N | Y | Y | Y | Y | |
| ldash | rust | Y | N | Y | Y | Y | Y | Y | won’t detect my accounts; requires assets:crypto |
| hledger-textual | python | Y | Y | N | Y | Y | Y | Y | writes directives to journal |
| dravik | python | N | failed to build pydantic-core==2.33.2 | ||||||
| Graphical | |||||||||
| Surebeans | C# | Y | Y | Y | N | N | N | N | needs a specific directory/file layout |
| hledger-macos | swift | Y | N | N | Y | Y | Y | Y | (mac only) |
| fruit-credits | vala | N/A | (linux+gnome only) | ||||||
| Web | |||||||||
| hledger-web | haskell | Y | Y | Y | Y | Y | Y | Y | |
| hledger-webuix | |||||||||
| muhasib-e-hledger | |||||||||
| ledgeraccounting | |||||||||
| nextcloud-hledger | |||||||||
| Paisa | |||||||||
| Android | |||||||||
| NanoLedger | |||||||||
| cashier | |||||||||
| MoLe |
Tests
install - did SM’s latest install attempt succeed ?
otherfiles - easy to view data in other files ?
otheryears - easy to view data outside the current year ?
sample - does it read sample2.journal, a small journal with a few transactions, conventional english account names (lower case), and balance assertions.
accounttypes - does it work with non-english/non-conventional account names, using account types.
bcexample - does it read bcexample.journal, a medium sized journal with 1000 transactions, conventional english account names (capitalised), and multiple commodities.
synthetic - does it read 1ktxns-100accts.journal, a synthetic journal with 1000 transactions, unconventional account names, and transacted prices and market prices.