Fake Time-Series Data Generator

Synthetic time-series datasets for charting demos

Ad placeholder (leaderboard)

This tool generates synthetic time-series data that looks like real metrics — with a trend, a repeating seasonal cycle, and random noise — so you can populate charts and dashboards without waiting for real data. Export it as CSV, a JSON array, or NDJSON to drop straight into Chart.js, D3, Recharts, or a streaming test harness.

How it works

Each data point at index i is the sum of three components plus randomness:

value(i) = base
         + trend * i
         + amplitude * sin(2 * pi * i / period)
         + noise * gaussian()

The trend term gives a long-term upward or downward drift. The sine term adds a repeating cycle — set the period to 24 for an hourly-with-daily-rhythm dataset, for example. The noise term uses the Box-Muller transform to draw from a normal distribution, so scatter follows a natural bell curve rather than flat uniform jitter.

Timestamps are assigned by placing the last point at the current time and stepping backward by your chosen interval, then written in ISO 8601 UTC.

Tips and notes

  • For a clean trending line, set noise to 0 and amplitude to 0.
  • A seasonal period equal to the number of points per natural cycle (24 for hourly daily, 7 for daily weekly) produces the most convincing rhythm.
  • Use NDJSON when testing log-ingestion or streaming code that reads one record per line.
Ad placeholder (rectangle)