All Over Tools logo
Tool Combiner
Analyze Tools Clean Tools Compare Tools Convert Tools Data Validation Extract Tools Format Tools Generate Tools Organize Tools Transform Tools
Image Tools Video Tools Audio Tools Subtitle Tools Font Tools
Analyze Tools Clean Tools Compress Tools Convert Tools Edit Tools Extract Tools Generate Tools Merge Tools Organize Tools Redact Tools Repair Tools Split Tools
Analyze Tools Clean Tools Compare Tools Convert Tools Extract Tools Generate Tools Merge Tools Transform Tools Validate Tools
Business Calculators Construction Calculators Date And Time Calculators Education Calculators Financial Calculators Food Calculators Health Calculators Math Calculators Science Calculators Sports Calculators Statistics Calculators
Blog About Us Contact Us

Time-Series Anomaly Detector

Upload a CSV, TSV, JSON, JSONL, or spreadsheet file, choose a timestamp column and one or more numeric value columns, set how duplicate timestamps, gaps, and timezones are handled, and pick a deterministic detection method - rolling z-score, rolling IQR, or seasonal residual. Get a point-level report of every flagged observation with its expected baseline, score, and reason, plus a chart of each series, entirely in your browser.

Drop a CSV, TSV, JSON, JSONL, or spreadsheet file here

or

CSV, TSV, JSON, JSONL, XLSX, XLS

How to detect anomalies

Upload time-series data, choose its time and value fields, set the scoring options, and the analysis updates automatically. The tool flags unusual existing observations from CSV, TSV, JSON, JSONL, XLSX, or XLS input. It does not forecast, repair, interpolate, or modify the source data.

Use a CSV, TSV, JSON, JSONL, XLSX, or XLS file. Drop it into the upload area or click browse files. Then configure the timestamp, series, duplicate handling, gap threshold, and detection method; the analysis updates automatically.

  1. Choose the time field in Timestamp column.
  2. Select one or more series in Value columns (series).
  3. Set the remaining controls; the analysis updates automatically.
  4. Review the summary, charts, flagged rows, and exports.

Configure timestamps and series

Use Timestamp column to choose the field that orders the records. In Timestamp display, choose Parse as-is (literal ISO instant), Interpret & display as UTC, or Interpret & display in browser local time. Results are formatted as ISO UTC strings for the first two modes; the local mode uses your browser's local time. Literal mode does not preserve the source text exactly.

Choose the numeric fields under Value columns (series). The tool may auto-detect a numeric column when at least 60% of its present values are numeric. For JSON, provide an array of records; the parser also accepts a nested array. For XLSX or XLS, the first sheet is used.

Use Duplicate timestamps to Keep first occurrence, Keep last occurrence, Average duplicate values, or Flag every duplicate as an anomaly.

Set gap handling and detection method

Set Flag gaps larger than (x typical interval) to define the gap threshold. The tool counts qualifying gaps in the summary; it does not show each gap as a separate result. A flagged point immediately after a qualifying gap may include a note about that gap.

Choose a Method, set Threshold, and configure Rolling window (prior points). Rolling z-score uses the mean and standard deviation of prior points. Rolling IQR uses the prior window's quartiles and interquartile range.

For Seasonal residual, set Season period (points per cycle) and the displayed Prior cycles to compare setting. The tool compares a point with values at the same phase in those prior cycles, then calculates MAD from those prior values. This method needs at least two periods of data. Every method scores against prior observations only.

Review flagged results and exports

The summary includes Gaps detected. Charts show each series with flagged points highlighted. The results table includes the timestamp, series, observed value, expected value, score, threshold, and reason. It shows up to 500 flagged points; when more exist, a truncation note tells you to export the complete set. Click Export CSV or Export JSON for all flagged results. The exported data also includes a Method field, which is not a visible table column.

Points and series that are not scored

Some data is excluded from scoring. Invalid timestamps and missing, blank, or non-numeric values are left out. Points without enough prior history are skipped, as are constant baseline windows with zero spread. A series with too few usable points may be skipped entirely. These cases may appear under Skipped (not scored).

Privacy & Security

Parsing and calculations run in the browser. The page does not specify a usage limit.

Frequently Asked Questions

Does this tool forecast future values or fix anomalies?

No. It only scores existing observations against a baseline built from prior history and reports the ones that look unusual. It never forecasts future points, never fills gaps, and never repairs, interpolates, or otherwise modifies your source data.

Which detection method should I use?

Rolling z-score uses the mean and standard deviation of prior points. Rolling IQR uses prior-window quartiles. Seasonal residual compares the same phase in prior cycles and calculates MAD from those prior values; it needs at least two periods of data and the configured Prior cycles to compare setting.

How are duplicate and missing timestamps handled?

You choose how duplicate timestamps are resolved - keep the first, keep the last, average the values, or flag every duplicate as an anomaly outright. Gaps are never filled or interpolated; the tool counts qualifying gaps and can note when a flagged point immediately follows one.

How is this different from the Outlier Detector?

The Outlier Detector scores unordered rows against a dataset-wide or grouped statistic and has no concept of time. This tool requires a timestamp column, processes each series in time order, builds rolling or seasonal baselines from prior history, and explicitly handles timezones, duplicate timestamps, and gaps.

Related Tools

30 views