Free historical forex data is easy to find, and for manual and swing backtesting it is usually accurate enough - as long as you check it for gaps, duplicates, and bad prices before you trust it. The cleaner the data, the more your backtest reflects reality instead of glitches.
Where to find it
- Broker exports: most trading platforms let you export candle history for the pairs they offer, straight to a file.
- Public data repositories: several sites publish downloadable OHLC history across many pairs and timeframes for free.
- Charting tools: some charting platforms allow exporting the candle data behind a chart.
- Built-in tool data: some backtesting tools ship with historical data included, so you skip the download-and-format step entirely.
Whichever source you use, confirm it actually covers the pair, timeframe, and date range your test needs.
The format you need
Historical price almost always arrives as a CSV with columns for time, open, high, low, close, and sometimes volume. The time field may be a Unix timestamp in seconds or a readable date string. If a tool can read time plus those four OHLC values, the file will work. Delimiters are usually commas or tabs.
Quality checks that matter
- Gaps: missing candles distort continuity. Weekends and holidays are expected; random weekday holes are not.
- Duplicates: repeated timestamps can double-count price action.
- Bad prices: a spike to an impossible value or a zero can create phantom trades.
- Consistent timezone: mismatched session times can wreck any session-based analysis.
Important: for short-term and tick-level strategies, data quality is far more critical than for swing testing - small errors in fine-grained data change many trades. Free sources are often fine for higher timeframes but can fall short for scalping precision.
Skip the sourcing hassle
Downloading, cleaning, and formatting CSVs is a chore that stands between you and actually testing. Many traders sidestep it by using a simulator that comes with historical data built in, so you can pick a pair and timeframe and start replaying immediately - no download, no formatting, no quality guesswork. If you do prefer your own data, the same tools typically accept a standard time-OHLC CSV, so you keep the choice.
Historical data FAQ
Where can I get free historical forex data?
Broker exports, public historical-data repositories, charting-tool exports, or a backtesting tool with data built in. Confirm coverage of your pair, timeframe, and dates.
What format does the data come in?
Usually a CSV with time, open, high, low, close columns. Time can be a Unix timestamp or a date string; delimiters are commas or tabs.
Is free data accurate enough?
Usually fine for manual and swing testing if you check for gaps, duplicates, and bad prices. Short-term and tick strategies need higher quality than free sources may provide.