Free & open-source · Kotlin Multiplatform

Desktop trading journal that turns broker CSVs into closed positions, charts, and analytics.

eJournal is a free, open-source, local-first desktop trading journal. Import your broker's transaction CSV and it matches every fill into round-trip trades (FIFO), computes realized P&L, and gives you a performance dashboard, a P&L calendar, a sortable trade log, and a per-trade candlestick chart with your entries and exits plotted on it. Your trades and API keys never leave your machine.

MIT licensed Local-first, no cloud No signup Windows · macOS · Linux
eJournal wordmark splash screen — Trading Journal for Kotlin Multiplatform
FIFO
round-trip trade matching
11+
brokers, plus generic CSV
1 file
local SQLite, nothing else
$0
free, forever, MIT licensed

Features

Everything you need after the fill.

From raw broker export to a per-trade candlestick chart — matching, math, and charts, all done on your machine.

Automatic FIFO trade matching

Groups individual fills into round-trip trades; handles longs, shorts, scale-ins/outs, and position flips. Closed positions are recomputed from your transactions (never stored), so editing or deleting a transaction just works.

Performance dashboard

Net & gross P&L, win rate, profit factor, expectancy, reward:risk, average win/loss, streaks, average hold time, top/worst trades, and an equity curve — all filterable by date range.

P&L calendar

A month grid color-coded by daily profit/loss; click any day to see the trades you closed.

Per-trade analysis

Candlestick chart (1/5/15-min intraday, or daily/weekly for swing trades) with your entries and exits plotted, a VWAP toggle, a transaction breakdown, and arrow-key navigation between trades.

Sortable, filterable trade log

Every closed position with entry/exit times & prices, shares, P&L, fees, and hold duration.

Drag-and-drop import

Drop a CSV, let eJournal auto-detect the broker, and preview parsed transactions before committing.

Free market data

Yahoo Finance daily bars work out of the box; add free Alpaca keys for 1-minute intraday bars on day trades.

Local-first & private

Everything lives in a single SQLite file under ~/.ejournal; API keys are stored with owner-only permissions on your machine.

Light / dark / system themes

Pick a theme, or let eJournal follow your OS.

Screenshots

See it before you install it.

Four screens, one SQLite file — the dashboard, the calendar, the log, and the per-trade chart.

eJournal dashboard — performance overview with P&L, win rate, and equity curve
Dashboard — performance overview
eJournal P&L calendar — month grid color-coded by daily profit and loss
P&L calendar — month grid color-coded by daily profit/loss
eJournal trade log — sortable and filterable list of closed positions
Trade log — sortable/filterable list of closed positions
eJournal trade analysis — per-trade candlestick chart with entries and exits
Trade analysis — per-trade candlestick chart with entries/exits

Integrations

Works with your broker's CSV.

Drop in an export from any of these — or fall back to generic CSV import for anything else.

TradeZero moomoo Charles Schwab E*TRADE Robinhood Webull Fidelity Interactive Brokers Tastytrade eToro + generic CSV TradeZero moomoo Charles Schwab E*TRADE Robinhood Webull Fidelity Interactive Brokers Tastytrade eToro + generic CSV

Get eJournal

Free, open-source, and yours to run.

Grab the latest build — Windows .msi installer or portable .zip (bundles its own Java runtime). macOS/Linux: build and run from source.

MIT licensed · no telemetry · no account