Skip to content
Convert Filez
Text And WritingRuns in your browser6 min readUpdated July 29, 2026

Text Column Formatter

This text column formatter takes lines of delimited text, split by a comma, tab or any character you choose, and aligns each field into fixed width columns so everything lines up neatly when viewed in a monospace font. Paste in a list of values, pick a separator and a minimum column width, and the output comes back padded and aligned exactly like a simple text table.

Loading the tool interface
Files never leave your deviceNo upload wait and no queueNo signup, watermark or file limit

Plain text has no native concept of a table. A spreadsheet aligns cells automatically, but a list of comma separated values pasted into a code comment, a README, a chat message or a terminal script stays as a ragged column of mismatched lengths unless something pads each field to match its neighbours. That padding is tedious to do by hand and easy to get wrong the moment a value changes length.

Every alignment happens locally in your browser as plain string padding logic. Nothing you paste is uploaded, so a text column formatter run on an internal report or an unpublished dataset is exactly as private as formatting it in a local text editor.

Padding each field out to the widest value in its column

Each line of input is first split into fields using the separator you choose, most commonly a comma or a tab. The tool then measures the longest value in each column position across every line, and pads every shorter value in that column with spaces up to that width, so the second, third and later columns all start at the same horizontal position on screen.

Because the result depends entirely on spaces lining up character for character, the output only looks correct in a monospace font, the kind used by code editors, terminals and plain text viewers. In a proportional font, where a lowercase i takes less horizontal space than a capital W, padded spaces will not produce visually straight columns no matter how carefully they were counted.

  • Choose the separator that already exists in your data: comma, tab, pipe or a custom character.
  • Set a minimum column width, or let the tool size each column to its longest value automatically.
  • Left align text fields and right align numeric fields for the most readable result.
  • Preview the aligned output before copying or downloading it as a plain text file.

When you should use a text table formatter instead of a spreadsheet

A spreadsheet is the right tool when the data needs sorting, filtering or formulas. This text column formatter is the right tool when the destination is plain text and a spreadsheet is not an option at all, for example a fixed width table inside a code comment, a monospaced email, a terminal command's output, a markdown code block, or a configuration file that expects aligned columns for human readability.

It is also the fastest way to tidy up existing delimited data, such as a CSV export or a tab separated log file, into something a human can scan without opening a separate application, since the whole operation is paste in, align, copy out.

Choosing a column width and alignment direction

As a column alignment tool, leaving the column width on automatic sizes every column to its own longest value plus a small gap, which produces the tightest possible table and is the right default for most input. Setting a fixed minimum width instead is useful when you want every column to match a specific width regardless of content, for example to line up with a heading row typed separately, or to leave consistent breathing room for values that might grow slightly later.

Left alignment suits text fields such as names and labels, since a reader's eye naturally starts reading from the left edge of a word. Right alignment suits numeric fields, since it lines up the ones, tens and hundreds digits vertically, which is the convention used in printed tables and spreadsheets and makes a column of numbers far easier to compare at a glance.

How this text column formatter handles ragged rows

Real data is rarely perfectly uniform. Some lines might have fewer fields than others, either because a trailing value was left empty or because the separator character happens to appear inside a value itself. This tool pads missing fields with empty space rather than discarding the row, so every line still lines up under the columns that do exist, and it treats each column's width independently, calculated only from the values that are actually present in that position.

If your separator character can legitimately appear inside a value, for example a comma inside a quoted address field, choose a separator that does not collide with your data, such as a tab or a pipe character, or clean the source data first with a dedicated CSV tool built to handle quoting rules correctly.

Padding math: the two passes behind every aligned column

The tool splits each line on your chosen separator, measures the maximum string length in every column position across the whole input, and pads each value to that width with spaces, either on the right for left aligned columns or on the left for right aligned columns. All of this runs as ordinary JavaScript string operations in your browser tab, with no server call, no upload and no record kept of what you formatted.

Because measurement happens in plain characters rather than rendered pixel width, this monospace text alignment only stays straight in a genuinely monospace font. Pasting it into a proportional font destination, such as most word processors and web pages by default, will not preserve the column alignment.

How to align text into columns

  1. 1

    Paste your delimited text

    Drop in a text or CSV file, or paste lines of data separated by a comma, tab or other character.

  2. 2

    Choose the separator

    Select comma, tab, pipe or a custom character that matches how your data is already split.

  3. 3

    Set the column width

    Use automatic sizing, or set a fixed minimum width that every column should meet.

  4. 4

    Pick an alignment direction

    Left align text columns and right align numeric columns for the clearest result.

  5. 5

    Copy or download the aligned table

    Copy the padded output to your clipboard or download it as a plain text file.

Related tools worth bookmarking

Sources and further reading

Frequently asked questions

Common questions about the text column formatter.

This text column formatter aligns text using spaces, which only line up visually in a monospace font where every character occupies the same width. Pasting the result into a proportional font, which most word processors and web pages use by default, will break the alignment even though the underlying spaces are unchanged.

Yes. Tab separated values are one of the most common inputs for a text column formatter, particularly when pasting from a spreadsheet, since most spreadsheet applications copy selected cells as tab separated text by default. Select tab from the separator options to have the tool split on it correctly.

Missing fields are treated as empty and padded like any other value, so a shorter line still lines up correctly under the columns that are present in longer lines. The column width calculation for each position only considers the values that actually exist there.

No, quoting rules are not interpreted. If a comma can legitimately appear inside a value, for example inside a quoted address field, choose a separator that does not appear in your data, such as a tab or a pipe character, or clean the source with a dedicated CSV tool that understands quoting first.

No fixed limit is imposed by the tool itself. The practical ceiling is your device's own memory, since the entire input is processed in your browser tab. Lists of several thousand lines align in well under a second on ordinary hardware.

No. Alignment is a split on your chosen separator followed by measuring the longest value at each column position and padding every other value in that column with spaces, all operating on the array your browser already holds in memory for the page. There is no intermediate step that packages a row for transmission, so an internal report or an unpublished dataset is only ever touched by the padding logic running in your own tab.

Keep going

More text and writing

View the full category