Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

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.

installbasicsynthetic
Terminal
hledgerYYY
hledger addYYY
hledger-uiYYY
dravikN*
hledger-editYYY
hledger-iaddYYY
hledger-textualYYY
ldashYN*N*
puffinYY*Y*
Graphical
fruit-credits
hledger-macos
Surebeans
Web
hledger-webYYY
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