Find Empty Items in Your List

Find empty items by getting back the 1-based line numbers of every blank or whitespace-only line. Output is a single line: `Empty at lines: 2, 4` (or `No empty lines` if none). To actually drop those lines, use Remove empty lines.

Input
Ready
Output
Live

Report the line numbers of every empty line

Emits a single line: `Empty at lines: 2, 4` - the 1-based line numbers of every blank or whitespace-only line in the input, comma-separated. Returns `No empty lines` if there are none. Diagnostic output, not a filtered list - to actually drop the blanks, use Remove empty items.

A line counts as empty when it matches `/^\s*$/` - pure blank, spaces, tabs, or any combination. A line containing a zero-width space or other printable whitespace does count; a line containing `0` or `-` does not.

Useful as a pre-check before serialising or importing data - catches the invisible rows a visual scan misses. Runs client-side as you type; no upload, no sign-up.

How to use find empty items in your list

  1. 1Enter your list into the input panel
  2. 2Watch as empty items are highlighted
  3. 3See the count update live
  4. 4Copy the results as needed
  5. 5Download the output as a plain text file

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What Find Empty Items does

Diagnostic output: line numbers of every blank or whitespace-only row. Pairs with Remove empty items.

1-based line numbers, comma-separated

Output format: `Empty at lines: 2, 4`. Line numbers match what your editor shows (first line is 1, not 0). Makes it trivial to jump to and hand-review the offending rows before you drop them.

Whitespace-only counts as empty

A line with only spaces, tabs, or any mix of whitespace matches `/^\s*$/` and is reported. The zero-width space, non-breaking space, and other Unicode whitespace are included; visible punctuation like `-` or `0` is not.

Diagnostic, not destructive

Returns a report, not a filtered list. Your input is never modified. Pair with Remove empty items when you want the blanks actually gone.

Single traversal

One linear pass over the input, collecting matching line indices into an array. The output is a short status string regardless of list length.

Runs live in the browser

The report updates as you type. No options to configure - the empty-line definition is the regex `/^\s*$/` applied to every split line.

Worked example

Op reports the 1-based line numbers of empty or whitespace-only lines, or `No empty lines` if none.

Input
Item 1

Item 2

Item 3
Output
Empty at lines: 2, 4

Behaviour reference

No options. The op rules are fixed.

Input shape What happens Example
Fully blank line Counted as empty; line number reported Empty line at position 2 → `Empty at lines: 2`
Whitespace-only line (spaces / tabs) Also counted as empty ` ` (two spaces) on line 4 → reported
No empty lines Output is `No empty lines` Status bar also shows `0 empty`
Line numbering (automatic) 1-based indexing First line is line 1, not line 0

FAQ

What does the output look like?
Either `Empty at lines: N, M, ...` (1-based) or `No empty lines`. It is a report of positions, not a modified list. To actually drop the blanks, use Remove empty lines.
Does it count whitespace-only lines as empty?
Yes. `line.trim() === ''` is the check - spaces, tabs, and other whitespace all count as empty.
Can I remove the empty lines instead of finding them?
Use Remove empty lines - it strips every blank/whitespace-only line in one pass.
Are the line numbers 0-based or 1-based?
1-based - the first line is line 1.
Does it have any options?
No. The behaviour is fixed: report 1-based positions of lines where `trim()` yields an empty string.