Why this synthetic time series generator?
- Trend, seasonality, and noise components are configurable.
- Inject missing values and outliers for robust testing.
- Preview a line chart plus first 20 rows.
- Export CSV/JSON and share settings safely.
Components
- Trend: linear slope per step.
- Seasonality: sine cycles or day-of-week pattern.
- Noise: Gaussian or AR(1).
- Quality: missing values + outlier spikes.
Quick presets
Start from common time-series shapes.
Generate
Synthetic time series generator
Configure index, signal, and quality, then generate data.
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
- Creating too few rows to show a seasonal cycle.
- Forgetting that CSV blanks and JSON null values are handled differently downstream.
- Changing the seed while trying to compare trend or noise settings.
- Adding outliers before confirming the baseline pattern is plausible.
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.