Remove empty lines

Delete unwanted blank rows while preserving the content and spacing of every line that remains.

Runs in your browser. Your text is not uploaded.

Worked example

Before

alpha

   
beta

After

alpha
beta

Both the zero-length row and the spaces-only row are removed by the default setting.

Exactly what this changes

  • By default, a line is removed when it contains no characters or contains only JavaScript whitespace characters. Spaces, tabs, and supported Unicode whitespace therefore count as blank for the removal decision.
  • Retained lines are copied exactly. The operation does not trim their leading or trailing spaces, collapse internal gaps, change line order, or merge neighboring values. Choose Trim lines separately when nonblank text also needs surrounding whitespace removed.
  • The shared parser accepts LF, CRLF, and CR input and emits LF in the result. A final line terminator is tracked separately, so cleaning internal blank lines does not silently remove the source’s final ending.

Options and edge cases

  • Switch to “zero-length only” when a line made of spaces or tabs is meaningful and must remain. Under that setting, only a line containing no characters at all is removed.
  • The choice applies uniformly across the list. There is no guessing based on visual width, indentation level, or neighboring text, and no line content is sent elsewhere for classification.

Edge case: A whitespace-only line may look empty in the textarea even though it contains characters. Use the zero-length setting carefully when invisible spacing is significant to a downstream format.