Free Trading Journal
Log your trades and see what your record actually says: a P&L calendar, a score across seven dimensions, your cumulative curve, R-multiples, expectancy and which setups, sessions and weekdays make or lose you money. Private and local by default, with optional Google sign-in to sync across your devices.
Dashboard widgets
Choose which sections to show. Saved on this device, and to your account if you sign in.
By Joey van Diest, founder and editor Updated
Your journal is stored on this device. Clearing your browsing data or switching devices loses it. Sign in to sync it across your devices, or keep exporting a JSON backup.
Synced
Add a trade
Your dashboard is empty.
Add your first trade to populate the tiles, calendar, score and curve below.
All-time performance
What is working
What to improve
Accounts
Per broker, exchange or prop-firm. Tag a trade's account to split it out here.| Account | Trades | Net P&L | Win rate | Avg / trade | Fees | Starting capital | ROI | Curve |
|---|
Growth projection
IllustrativeThis simply repeats your past average monthly result forward. It is not a forecast or a promise: real returns vary, losing streaks happen, and past performance does not predict the future. Record-keeping, not advice.
History
Every year you have logged. Click a month to open it in the calendar above.Journal score
seven dimensions, 0-100 · every rule shown belowBy setup
By session
By weekday
Win rate by strategy
Win rate by asset class
Streaks
Long vs short
Rolling performance
Instruments traded
Session clock
Hold-time sweet spot
Performance card
Rendered on this device. Nothing is uploaded until you choose to share or download it.
Trades
| Date | Instrument | Dir | Setup | P&L | R | Hold |
|---|
Backup & transfer
The JSON file is your real backup. The string is for moving a journal to another browser or device.
Import a broker / exchange CSV
Drop in a trade-history CSV exported from your broker, exchange or prop firm (MetaTrader, cTrader, Binance, most others). Columns are matched automatically; when the file carries a profit column it is used as-is. New rows are added to your journal and re-importing the same file will not duplicate them.
What a trading journal is, and what a good one records
A trading journal is a record you keep of every trade you take, plus the reasoning behind it: the setup, the stop, the size and why you entered. This tool lets you track trades and see whether your trading actually works, computing win rate, profit factor, R-multiples and expectancy automatically.
The purpose of a trading journal is to document your reasoning for entering into each specific position. A brokerage firm will have a record of when and how much of an asset was purchased or sold; they are unaware of the strategy behind your entry. Thus, if you enter into a long position at the breakout on the fourth test of support (or resistance), this type of documentation is the only aspect worthy of study in terms of evaluating success or failure. A simple brokerage statement does not include this information.
A good trading journal records three layers: the mechanics (entry, exit, size, and the stop you set before the trade went live), the context (the setup, the session, a note on what you actually saw), and the numbers those two produce, computed for you rather than left as arithmetic you do at 2am.
The mechanics are the same whatever you trade. A day trading journal, a forex trading journal and a crypto trading journal differ in the instruments and the hours, not the maths: entry minus exit, times size, times direction, minus fees, is your profit and loss whether the symbol is EURUSD, ES or BTC.
The stop is the field most journals skip and the one that does the most work. With it, every trade gets an R-multiple: your result measured in units of what you actually risked. A trade that made twice what you stood to lose is +2R, whether you risked fifty dollars or five thousand. Log the stop. It is the difference between a diary and an instrument.
None of this matters if you never look at it. A month later the record tells you something you could not feel in the moment: that one setup carries the whole account, that your Tuesday trades are a tax you keep paying, that the size you add after a winning streak is exactly where the damage happens.
Free, with no asterisk
This is a completely free trading journal. It will not require an account or a later addition of your own card. And there are no trade limits. What most people sell as their "best" free trading journal is actually a trial version with a "cut-off point" where they hope you'll get so far in documenting your trades that you won't be able to leave. The point for this one is simply non-existent.
Open the webpage and start tracking trades right away. No accounts are required; no emails or passwords. The app will run inside of your web browser (on either a desktop computer or mobile device) as an application, and you won't have anything to download. It's free because it doesn't consume much memory space: all of the data that make up your trading journal are stored on and processed at your end, which means we don't need to store them anywhere.
No one can read your trades. Trades do not get sent off from the device you created them on (unless you sign into your Google Account), and your trading always operates as if you were offline after loading the webpage. When you login using your google account, all of your trades will be synced to your account across all devices. This syncing process creates a small, opt-in file for your own trades. This is not a data collection application.
Signed out, that browser storage is the one real catch. Clearing your site data deletes the journal, and it does not follow you to another device on its own. Sign in for cross-device sync, or stay local and use the one-click JSON export as your backup. Signed out we never have a copy; signed in, the cloud copy is yours, and one click removes it.
Zero, with no trades held hostage, on your laptop or your phone, no download and no store listing between you and it.
The dashboard, read in ten seconds
Four tiles carry the headline. Net profit and loss, with a small equity-curve sparkline beside it. Profit factor: dollars won for every dollar lost, with a ring that fills green against red. Win rate, with wins, breakevens and losses beneath it. And average win against average loss, drawn as one bar split at the point where they balance.
Below that sits expectancy (a measure of your expected performance), total R (your overall gain/loss), your worst draw-down and the number of trades you have executed. The above are the elements that separate an advanced trading journal from a simple "running total." A running total will tell you if you are up; expectancy will tell you if it is due to skill or simply the last three trades being favorable for a losing method.
The chart under it all is your cumulative profit and loss, in currency or in R. A curve that climbs in R is an edge, whatever you were risking per trade. A curve that grinds sideways in currency but climbs in R usually means you are trading well and sizing timidly.
A high win rate next to a payoff below one is the classic profile of a trader who cuts winners and lets losers run. A profit factor above two next to a punishing drawdown says the edge is real but the sizing is not survivable.
Everything recomputes the moment you add, edit or delete a trade, with no refresh and no separate reporting screen. Every tile states the formula it used; nothing on the screen arrived from anywhere except your own inputs.
The P&L calendar
The calendar is the view most records are missing. It is a month laid out as a grid, each traded day coloured by what it made or lost, with the amount, the trade count and the day's win rate in the cell. A weekly column down the side sums each week, so a single red Friday that erases four green days reads as exactly that.
The calendar is one of the few charts that will show us patterns that are impossible for curves to follow; midweek slump, "revenge" trading on Mondays after Fridays were terrible, the stretch of green that always ends when you determine your sizing. You might have some sense of all this. Viewing it as colored boxes makes the difference between a hunch and something you can factor into your planning.
It is also the fastest read in the tool: you glance at it rather than interpret it. A month mostly green with two deep-red days points you straight at those two days.
It is one part of a single free page, computed from the same trades as everything else. No calendar view locked to a paid tier, no trade limit that quietly caps the month.
The Journal Score, seven dimensions
The score collapses a wall of numbers into one reading you can watch move: 0 to 100, built from seven measures that each catch a different way a method can be sound or broken. Win rate. Profit factor. Payoff ratio. Expectancy, your mean R. Recovery factor. Drawdown control. And consistency, the share of your trading days that finished green.
Each of the seven is mapped to its own 0-to-100 scale by a rule printed next to the radar, averaged with no weighting hidden anywhere. Nothing is a black box, and nothing is borrowed from a product that keeps its formula secret.
The radar shape matters more than the total. A chart pulled wide on win rate and profit factor but caved in on drawdown control is a trader who is right often and profitable on paper, taking the account through dips that will end it on a bad run. You read the weaknesses off the dents, then go fix the dent.
Expectancy needs a stop to exist; if none of your trades carry one, the tool greys that spoke rather than scoring it zero. Below about ten trades the headline greys out entirely, on purpose: a score off three trades is noise wearing the costume of a measurement.
As a day trading journal
A day trading journal has one job the swing trader's does not: survive volume. Twenty trades in a session, most of them small, is a stream a paper notebook or a fiddly spreadsheet cannot keep up with. Entry here is one short form, with the whole dashboard updating as you go, so logging the tenth trade costs exactly what the first one did.
The session tag, set to Asia, London, New York or a label of your own, is where the pattern most day traders cannot see about themselves lives. Sort your record by session and it is common to find that one block of hours pays for the account and another quietly hands it back.
The calendar is a day-by-day view by construction, which is the grain a daily trading journal wants. Day trading punishes the same three mistakes on a loop: sizing up after a win, revenge-trading a loss, and pushing size in the dead hours out of boredom. All three show up here before they show up in your balance.
No trade cap to blow through, no upgrade prompt at the point you start taking it seriously.
As a forex trading journal
A forex trading journal has to speak pips as well as currency, because forty pips on EURUSD and forty pips on USDJPY are not the same amount of money. Log the entry, exit and size and the profit and loss follows in your account currency, while the setup tag and session hold the why.
Sessions matter more in forex than almost anywhere: the Asian range, the London open, the New York overlap are when liquidity and volatility actually arrive. Tag every trade with its session and a month later the breakdown tells you which hours your edge lives in.
The pair itself is worth breaking out too: it is ordinary to find the majors you trade on a clean read are carrying the account while the exotic you took on a hunch is the leak.
Size the trade first with the position size calculator, and check the pip value calculator so forty pips means a number you chose. The journal is where you find out, over a hundred trades, whether those decisions were any good.
As a crypto trading journal
A crypto trading journal has to handle leverage that liquidates and a market that never closes. On a leveraged perp the distance to your liquidation is the distance to zero, and a journal that records where your stop sat is the record of whether you traded with a plan or gambled with a wide one.
The 24/7 clock lands in the calendar: crypto does not respect your weekend, and a lot of crypto damage gets done in the small hours in thin books nobody sober would have opened.
Funding quietly eats a crypto account, so log it in the fees field. If you trade perps, the funding dashboard shows what holding is costing, and the liquidation price calculator tells you where the position ends before you open it.
Same page on the phone you trade from at 3am and the laptop you review on, private by default.
An app that runs on any device
There is no app to install: open it on the laptop you review on or the phone in your pocket, and it is the same tool in each place, with no store listing, no installer and nothing to keep updated.
The one real seam is moving between machines, since a journal on your laptop is not automatically on your phone. The transfer string packs the whole journal into text you paste into the same page on another device; the JSON export does the same job as a file.
Three worked examples, start to finish
The fastest way to see what a trading journal does is to walk three trades through it, from the fill to the figure it changes.
A clean winner: EUR/USD at 1.0800 on a London-open breakout, stop at 1.0780, closed at 1.0850. The dollar profit is about $500, but what matters is the R-multiple: risking twenty pips to make fifty closes the trade at +2.5R, and that number feeds your expectancy the same way whatever pair or size you traded.
A loss that behaved: short US500 at 5460, stop at 5475, stopped out for a clean −1R. This is the trade most people do not want to write down and the most important one to keep, since a method is defined by its losses as much as its wins.
The messy one: BTC bought on a Sunday-night hunch with no stop, scratched near breakeven. It still counts toward P&L, but with no stop there is no R. A cluster of stopless hunch-trades, especially on weekends, is a habit the numbers will surface long before your balance does.
Win rate, payoff and expectancy already read differently with just three trades logged, and the score knows it, staying greyed until there is enough to trust. But the shape of how you read a journal is already there: log the mechanics, let it compute the R, and read the pattern the trades make together.
A browser journal versus an Excel template or Notion
A spreadsheet works for the first month: you type trades into rows, a few formulas total the profit and loss, and it feels like enough. The trouble is you build and maintain every part yourself, and the parts that matter are the ones that break.
An equity curve needs re-pointing every time the range grows. R-multiples need a formula referencing the stop, which most free templates never include. A profit calendar coloured by day is its own project, and a radar score is not happening.
This tool is that spreadsheet's job done for you and kept in sync: the equity curve draws itself, R is computed from the stop you already logged, and the calendar, breakdowns and score recompute the instant you add a trade. A Notion database is the same problem from a different angle: tidy, almost entirely manual, and computing close to nothing, which is neatness rather than analysis, and a diary with good fonts.
None of this makes a spreadsheet worthless. The JSON export hands you the whole journal as a structured file if you want a copy in a workbook you own.
The daily job of a journal, computing the honest numbers the moment a trade is logged, is exactly the work that stops getting done by hand right when it starts to matter.
Do you need an AI trading journal?
Your search on a trading journal is now flooded with AI coaches claiming to review your trades and tell you where you went wrong. However, because of their mathematical nature (arithmetic), the expectancy, profit factor and draw down will have exact values, and an exact value derived from a formula that you can see will always be better than an approximate value produced by a model which you don't understand.
Hand a model thirty trades and it will write a fluent, authoritative page about your edge and your psychology, and almost none of it will survive the next thirty trades, because thirty trades cannot support conclusions that specific. The number stays honest. The paragraph does not.
This tool shows you the numbers, the shapes and the patterns, and leaves the interpreting to you, because you were in the trade and know why you took it. The score greys itself out when the sample is too thin to trust, rather than inventing a story the evidence does not support yet.
What the numbers mean
P&L = (exit − entry) × size × direction − fees
R = P&L ÷ (|entry − stop| × size)
expectancy = mean R · profit factor = gross profit ÷ |gross loss|
Expectancy is the single most useful figure here: the average R across your trades. Positive means the edge is real over the sample; negative means it is not, regardless of how the last few trades felt. Profit factor answers a related question in cash: how many dollars you made for each dollar lost, where anything above 1 is profitable and above about 1.5 is healthy. Win rate is the number traders quote and the least informative on its own, a 35% win rate at 3R is far better than 70% at 0.3R.
On sample size
Be careful reading anything from a handful of trades. Twenty trades tells you almost nothing: the swing between a 40% and 60% win rate over twenty samples is ordinary luck. Expectancy estimates only start to firm up over a hundred or more trades, and breakdowns by setup need that many per setup before they mean much. The risk of ruin simulator shows how wide the range of outcomes is even when an edge exists, which is the best antidote to over-reading a small journal. Feed your measured win rate and average R into the risk/reward calculator to check the edge is real, and size with the position size calculator so no single trade can end the experiment early.
Backing up and moving your journal
Everything the journal knows lives in this browser, which makes backing it up the one habit that keeps the record from being fragile.
The JSON file is the real backup: one click writes your entire journal to a file that will still open in ten years, no account needed to read it back. Export after any session worth keeping, and you can lose your browser or your laptop and restore from the file in one step.
The transfer string is the convenience path, for moving a journal between devices without handling a file. It is built for a few hundred trades; past that, use the file, which has no size limit.
Signed out, the tool holds no copy to restore if you clear your own site data; sign in and your account holds a synced copy a cleared browser pulls straight back. Either way, the one-click download is real and portable, and the standing advice is to actually use it.
Frequently asked questions
- Where is my data stored?
- In the browser on this computer, or mobile device, using IndexedDB. The data remains in local storage (on your device) unless you sign into a google account; when signed-in, it will be synced to your google account, where you may delete the cloud copy of your journal by clicking one button. Regardless of how you store it locally, a good backup of the journal is to save as a json file.
- Can I lose my trades?
- Signed out, yes: clearing site data, a private window, or the browser evicting storage all delete the local journal, and none of it is recoverable by us because we have no copy. Sign in and the journal is synced to your account, so a cleared or new browser restores from the cloud. Either way, exporting a JSON backup now and then takes one click and never hurts.
- How does the Google sign-in and sync work?
- One click, with no password given to us and no verification email. Your journal then syncs to your account, merging edits by trade so logging on your phone and your laptop both stick. We store only your trades, keyed to your Google account id, never your password. Stay signed out and nothing is ever uploaded.
- What is an R-multiple and why does it need a stop?
- In addition to how many trades you have had (win/loss), or how much you won (or lost) on those trades, R quantifies your results in terms of the amount you risked per trade. A trade where you earned double what you were risking would be labeled as a +2R. The R statistic is calculated as follows: Profit / |(stop price - entry price)| x (trade size). Therefore if you do not record a stop price, it will not be possible for you to calculate your risk. While this does affect whether R can be used, these trades still contribute to both your profit and loss (P/L) and win-loss statistics; they simply cannot be included in your R-based statistics.
- Is it really free, or is there a paid tier?
- The application is completely free (no paid version) with no time limits on trials and no requirement of storing a credit card on file or having a trading limit become a subscription model. The app has an optional feature for users to login using their Google account which allows them to access this service across multiple devices but does require creating an account. The fact that the service can remain free is due to the low operating costs. All computations are done in the user's web browser and all data from the journal is stored locally on the user's computer. Users should save backups of their data as JSON files when they logout.
- Is there a trading journal template I can use?
- Not as a spreadsheet template, no, and that is deliberate. A template is a blank grid you still have to maintain: your own formulas, your own chart, your own R column if you remember to add one. This tool is the finished version of that template, with entry, R-multiples, the calendar and the score already computed, so there is nothing to build or repair as your trade count grows.
Method and limitations
Your journal is stored in this browser using IndexedDB, and there is no analytics on your trade data. Signed out it is never transmitted and we hold no server-side copy: keep the JSON export as the backup. Sign in with Google and it also syncs to your account, keyed to your Google account id and never your password, and one click removes that cloud copy. Statistics and the Journal Score are computed from what you enter; trades without a recorded stop are excluded from R-based figures rather than assigned an assumed risk. This is a record-keeping tool, not trading advice.
This tool runs entirely in your browser. Nothing you enter is sent to us or stored.
For general information and education only. This is not financial advice and not a recommendation to buy or sell anything. This tool is provided as is, with no warranty of accuracy: like any software it can contain errors, so always verify figures against your broker or the original source before acting on them. Trading and investing carry risk, including the risk of losing more than your initial outlay.
Spotted an error? Email [email protected] and it will be corrected. Maintained by Joey van Diest.