Align delimited text into evenly spaced columns

Pad literal-delimited rows into evenly sized plain-text columns.

freeworks offlinenothing uploaded
ToolColumn Aligner
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

Each CRLF/LF row is split on the literal delimiter, its cells are trimmed, and the largest UTF-16 length in each position sets that column width. Spaces pad left, right, or both sides before the output delimiter and selected surrounding gap are inserted.

  • Pipes, left alignment, and one surrounding space produce a readable source table without pretending to parse CSV quoting.
  • Rows with fewer cells receive blank padded cells through the widest detected row.

Worked example

Align pipe-delimited data
Align columns in a pipe-separated table
Input
											Name|Age|City
Alice|30|New York
Bob|25|San Francisco
										
Output
												Name  | Age | City         
Alice | 30  | New York     
Bob   | 25  | San Francisco
											

When to use this

Markdown pipe tables become readable in source, console reports gain monospaced columns, and two-column checklists align before plain-text sharing.

Edge cases

  • A delimiter inside a cell always opens another column because quoted-field escaping is not parsed.
  • CJK and emoji use UTF-16 length rather than terminal display width, so visual alignment can remain uneven.
  • A short row is extended with blank cells rather than emitted with fewer columns.