User Interfaces
Here is an overview of the user interfaces available for hledger. The official UIs, which are maintained within the hledger repo, are marked in bold.
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)
- muhasib-e-hledger web UI for hledger reports (rust, 2024)
- Paisa web UI or desktop app for ledger, hledger and beancount (go/js/ts, 2022.., demo)
- ledgeraccounting web UI for hledger: data entry, basic reports and budgets (python+js, 2018)
- nextcloud-hledger hledger UI on the Nextcloud file-sharing/web-app platform (php, 2021)
Mobile
- NanoLedger data entry app for h/ledger (Android, kotlin, 2023..)
- cashier mobile or desktop client for ledger and hledger-web (Android/Desktop, js, 2019)
- MoLe mobile client for hledger-web (Android, java, 2020)
See also: Mobile apps
Test matrix
Not all UIs are equally mature and robust. Here is the start of a basic test matrix showing the status.
| install | basic | synthetic | |
|---|---|---|---|
| Terminal | |||
| hledger | Y | Y | Y |
| hledger add | Y | Y | Y |
| hledger-ui | Y | Y | Y |
| dravik | N* | ||
| hledger-edit | Y | Y | Y |
| hledger-iadd | Y | Y | Y |
| hledger-textual | Y | Y | Y |
| ldash | Y | N* | N* |
| puffin | Y | Y* | Y* |
| Graphical | |||
| fruit-credits | |||
| hledger-macos | |||
| Surebeans | |||
| Web | |||
| hledger-web | Y | Y | Y |
| hledger-webuix | |||
| muhasib-e-hledger | |||
| Paisa | |||
| ledgeraccounting | |||
| nextcloud-hledger | |||
| Mobile | |||
| NanoLedger | |||
| cashier | |||
| MoLe |
Tests:
- install - did SM’s latest install attempt succeed.
- basic - does it read bcexample.hledger, a simple journal with conventional english account names, 1000 realistic transactions.
- synthetic - does it read 1ktxns-100accts.journal, a synthetic journal with unconventional account names, no account types, 1000 transactions, transacted prices and market prices.
Notes:
- dravik: Failed to build
pydantic-core==2.33.2 - ldash: attempt to divide by zero
- puffin: could not navigate to past years