Text Columnizer

Arranges whitespace-separated values from the input into fixed-width aligned columns, a configurable number per row, padding each value to its column's widest entry, useful for tidying up lists of short values into a scannable grid. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-23

Overview

Introduction

Turning a long flat list of short values into a tidy, aligned grid by hand means manually counting spaces for every column, which gets unmanageable fast.

It runs entirely client-side, so nothing you paste is ever uploaded to a server.

What Is Text Columnizer?

A text columnizer that arranges whitespace-separated values from the input into fixed-width aligned columns, a chosen number of values per row.

It runs entirely client-side as part of this site's String Tools collection, so nothing you paste is ever uploaded to a server.

How Text Columnizer Works

The input is split on whitespace into a flat list of values, grouped into rows of the chosen column count, and each column is padded with trailing spaces to match the width of its widest value across all rows.

The transformation happens synchronously in JavaScript the moment you type, with no network round trip involved.

When To Use Text Columnizer

Use it to turn a long flat list into a scannable grid, prep data for a monospace display, or tidy up a word list for a printed handout.

It's a fast way to get the answer without opening a code editor, a REPL, or writing a one-off script just to check.

Often used alongside Column Text Converter and Find & Replace Tool.

Features

Advantages

  • Column widths adapt automatically to the longest value in each column.
  • Works with any whitespace-separated input, no delimiter configuration needed.
  • Computes each column's width across every row rather than row by row, so the columns stay aligned all the way down the grid.

Limitations

  • Alignment relies on a monospace font; in a proportional font the columns won't visually line up.
  • Splits on any whitespace, so a value containing an internal space is broken into two entries and shifts everything after it.

Examples

Columnizing a list

Input

apple banana kiwi fig grapefruit pear

Output

apple banana     kiwi
fig   grapefruit pear

Six values are arranged into two rows of three columns, each column padded to its widest entry.

Best Practices & Notes

Best Practices

  • View or export the result in a monospace font so the padded columns actually line up.
  • Confirm no value contains an internal space before columnizing, since the split cannot tell one apart from a separator.
  • Pick a column count that keeps the total width inside your target, because a grid wider than the display wraps and destroys the alignment.

Developer Notes

Column widths are computed with `widths[colIndex] = Math.max(widths[colIndex], value.length)` across all rows, then each value except the last in a row is padded via `value.padEnd(widths[colIndex], " ")`, deliberately skipping padding on the row's final column to avoid trailing whitespace.

Text Columnizer Use Cases

  • Turning a flat word list into a scannable grid
  • Prepping tabular-looking data for a monospace display
  • Tidying up a printed handout or reference sheet

Common Mistakes

  • Viewing the output in a proportional font, where the padding won't visually align.
  • Expecting the last row to be padded with placeholder values if it has fewer entries.

Tips

  • Use the Column Text Converter afterward to reverse the process and get back a flat list.
  • A value count that is not an exact multiple of the column count simply leaves the last row short, without affecting the rows above it.

References

Frequently Asked Questions