Synthetic Time Series Generator (trend/seasonality/noise)

Generate synthetic time series with trend, seasonality, noise, missing values, and outliers.

Runs locally in your browser. Share URLs include settings only (no data). Use full profile JSON when you need complete reproduction. Seeded mode is for reproducibility, not security.

Use for testing, learning, and demos — not for high-risk decisions.

Other languages 日本語 | English | 繁體中文 | 繁體中文(香港) | Español | 한국어 | Français | עברית

Why this synthetic time series generator?

Components

Quick presets

Start from common time-series shapes.

Generate

Synthetic time series generator

Configure index, signal, and quality, then generate data.

Index settings

Signal settings

Noise

Quality

Output

Preview

Chart samples the full series; table shows the first 20 rows.

Timestamp Value

Output

Generate shows preview only. Render, copy, or download full output on demand.

Synthetic time-series workflow

Use this generator to create timestamped test data with row count, interval, trend, seasonality, noise, missing values, outliers, and a repeatable seed.

How it works

The tool builds each row from a timestamp, baseline value, optional trend, seasonal component, random noise, and any selected data-quality injections. The seed keeps the same settings reproducible.

When to use

Use it for dashboard prototypes, CSV import tests, chart demos, alerting pipelines, and examples where realistic but non-production data is safer than real records.

Common mistakes to avoid

Export workflow

Set the start timestamp, interval, row count, trend, seasonality, and noise. Preview the chart, then export CSV, JSON, or the profile JSON that restores the generator settings.

See also

FAQ

What time series can I generate?

Combine trend, seasonality, noise, missing values, and outliers to create synthetic series.

How are missing values and outliers injected?

Missing values are set to null (CSV empty). Outliers are injected by rate and mode.

What is seeded mode?

Seeded mode makes results reproducible, but it is not secure.

CSV or JSON?

CSV is compact for spreadsheets; JSON keeps nulls and is API-friendly.

What should I set first?

Choose the start timestamp, interval, and row count first. Then add trend, seasonality, noise, missing values, and outliers one layer at a time.

How do I reproduce the same dataset?

Keep the same seed and settings. The profile JSON is the safest way to restore a generator setup later.

How to tune generated time series

Start with cadence

Pick the timestamp interval and row count before tuning values. Cadence determines whether daily, hourly, or irregular-looking charts make sense.

Layer the pattern

Add trend first, then seasonality, then random noise. This makes it easier to spot which setting changed the chart.

Inject data issues deliberately

Missing values and outliers are useful for parser and alert tests, but add them only after the clean baseline looks right.

Export for your target system

Use CSV when testing spreadsheets or table imports. Use JSON when testing APIs, typed fields, or null handling.

Import full profile JSON

Paste full profile JSON here. Nothing is uploaded.