Sorted Order Checker

Paste a list of numbers and find out whether it is in order — ascending, descending, or whichever direction the values themselves imply. If it is not, you get the first out-of-order element: its position, its value, the neighbour it breaks against, and why. Nothing is uploaded; the check runs in your browser.

Try:
Order report

About this tool

Sorted Order Checker verifies numeric sequences without changing the data. Paste comma-separated, newline-separated, space-separated, tab-separated, semicolon-separated, or pipe-separated values and the tool reports whether the list is sorted ascending, descending, or in the direction it auto-detects from the first differing pair.

The report is designed for debugging spreadsheets, generated IDs, timestamps, ranking exports, sensor readings, and batch jobs where one misplaced value can break a pipeline. When the list is not sorted, it names the first out-of-order element with its 1-based position, value, previous neighbour, and the comparison that failed. It also reports the total number of broken neighbour comparisons and the longest already-sorted run.

Worked example

Input:

1, 4, 9, 2, 7

With order=auto, strict=false, and separator=auto, the report starts:

Not sorted ascending (equal neighbours allowed) — the order first breaks at position 4.
First out-of-order element: position 4, value 2 (previous position 3, value 9)

Use strict=true when repeated values should fail, such as a unique timestamp or sequence-number check. Use strip_thousands=true with an explicit separator (for example space) when values contain digit-group separators like 1,024 2,048 4,096.

Limits and edge cases

FAQ

What does “auto” order do?

auto looks for the first pair of values that are different. If the second is larger, the list is checked as ascending; if it is smaller, the list is checked as descending. This is useful when you only care whether the list is monotonic in either direction.

How is strict mode different from the default?

By default, equal neighbours are allowed, so 1, 2, 2, 5 is sorted ascending. With strict=true, every step must change in the chosen direction, so the repeated 2 is reported as an out-of-order value.

Can I paste values with thousands separators?

Yes. Set strip_thousands=true and choose a separator that is not a comma, such as space or newline. For example, 1,024 2,048 4,096 with separator=space parses as three values.

What happens if my list has headers or `n/a` entries?

The default non_numeric=error stops and names the first bad token so you can fix the data. If the labels are expected, set non_numeric=ignore; the tool skips those tokens, checks the numeric values that remain, and reports how many were ignored.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool sorted-order-checker "1, 4, 9, 2, 7"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/sorted-order-checker/?numbers=1%2C%204%2C%209%2C%202%2C%207&order=auto&strict=true&separator=auto&strip_thousands=true&non_numeric=error&max_issues=20&format=text

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.