hledger-ui
Browse and visualize hledger journal files
TLDR
Start in the main menu screen, reading from the default journal file
Start with a different color theme
Start in the balance sheet accounts screen, showing hierarchy down to level 3
Start in this account's screen, showing cleared transactions, and reload on change
Read two journal files, and show amounts as current value when known
Show the manual in Info format, if possible
Display help
SYNOPSIS
hledger ui [OPTIONS] [QUERY]
PARAMETERS
-f, --file FILE
Use FILE as main journal (default: ~/.*journal)
--register
Start in transaction register screen (alias: R)
--tree
Start in tree-mode accounts screen (toggle: T)
-w, --watch
Watch files for changes and auto-reload
--no-colour, --colour
(Dis/en)able ANSI colour
--depth N, --max-depth N
Show accounts/types up to N levels deep
--no-elide
Show all account/amount digits (toggle: $)
-b, --begin DATE
Start date (YYYY/MM/DD or period expr)
-e, --end DATE
End date
-p, --period PERIOD
Report period (monthly, yearly, etc.)
--today
Current date (today), not booking date
--auto
Include auto-generated postings
--real
Exclude virtual postings
/PATTERN
Search accounts matching pattern
DESCRIPTION
hledger-ui is a full-screen, keyboard-driven terminal user interface (TUI) for the hledger plain text accounting tool.
It displays hierarchical account lists with running, period, or cumulative balances, allowing interactive browsing, searching, and reporting directly in the terminal using curses. Navigate with arrow keys, vi-style search (/), and single-key commands for common actions like drilling down (Enter), going up (Esc), or switching reports (B for balance sheet, I for income statement, C for cashflow).
Supports all hledger features: multi-currency, commodities, historical/cost prices, forecasting with =future, budgets, custom periods (-p), account aliases, and complex queries on accounts, amounts, dates, payees, tags, etc. Toggle views like tree/flat accounts (T), register of postings/transactions (R), or all accounts (A). Periodic table mode shows changes over time.
Ideal for power users preferring keyboard efficiency over CLI repetition or GUIs. Data stays in plain text files for version control and portability. Integrates with hledger ecosystem for migration from Ledger or Beancount.
CAVEATS
Requires terminal with curses support; resizing may need restart. No mouse support. Complex queries slower on large journals.
KEY BINDINGS
h/? : help ↑↓←→ : navigate
Enter : drill down Esc : up
/ : search accounts ?: search postings
A : all accounts R : register
B/I/C : bal sheet/income/cashflow
q : quit
SCREENS
Accounts : hierarchy + balances (default)
Register : transactions/postings list
Periodic table : changes over periods
Two-page : split for multi-commodity
HISTORY
Developed by Simon Michael since 2007 as Haskell reimplementation of Plain Text Accounting. hledger-ui added in v0.9 (2011), inspired by ledger's UI. Evolved with Haskell ecosystem (stack/cabal); v1.33+ adds watch mode, better colours.
SEE ALSO
hledger(1), hledger-balance(1), hledger-register(1), ledger(1)


