{ Text Column Aligner }

// align plain text into evenly spaced columns

Align plain text into evenly spaced columns for terminals, docs, and README files. Supports custom delimiters, padding, and alignment modes.

Paste delimited text — one row per line. First row is treated as header in Markdown mode.

Ready to align

Paste delimited text and click Align Columns

HOW TO USE

  1. 01
    Paste your text

    Enter any delimited text — pipe, tab, comma, or space separated. One row per line.

  2. 02
    Choose options

    Select delimiter, alignment (left/right/center), padding amount, and output format.

  3. 03
    Click Align & Copy

    Copy the aligned output or download as a .txt file for use in your project.

FEATURES

Auto-detect delimiter Left / Right / Center Markdown table output Custom padding Plain text export Browser-based

USE CASES

  • 📄 README tables and documentation
  • 💻 Terminal output and CLI logs
  • 📋 Code comments with aligned data
  • 📊 Config files and key-value lists
  • 🗒️ Plaintext reports and changelogs

WHAT IS THIS?

The Text Column Aligner formats delimited text into evenly spaced, fixed-width columns — ideal for terminals, documentation, code comments, and README files where monospace alignment matters. It supports multiple input delimiters and outputs both plain text and Markdown tables.

RELATED TOOLS

FREQUENTLY ASKED QUESTIONS

What delimiters does this tool support?

The tool supports pipe (|), tab, comma (,), and double-space as delimiters. You can also use Auto-detect, which scans the first few lines to pick the most frequent delimiter automatically.

How does auto-detect work?

Auto-detect counts occurrences of pipe, tab, and comma in the first 5 lines, then picks whichever appears most frequently. If none are found, it falls back to double-space splitting.

Can I generate a Markdown table?

Yes — select Markdown table in the Output Format dropdown. The first row of your input becomes the header, and the tool generates a proper |---| separator row with alignment hints based on your chosen alignment mode.

Does it work with tab-separated values (TSV)?

Absolutely. Select Tab as the delimiter, or let Auto-detect pick it up. This is useful for data pasted directly from spreadsheets like Excel or Google Sheets.

Is my data sent to a server?

Processing is handled server-side via a lightweight PHP endpoint, but no data is stored, logged, or shared. Your input is discarded immediately after the response is sent.

How do I handle unequal column counts per row?

Rows with fewer columns than the maximum are padded with empty cells on the right. No error is thrown — the output remains aligned, with blank entries in missing positions.

What Is a Text Column Aligner?

A text column aligner is a utility that takes delimited plain text — rows where values are separated by a character like a pipe, tab, or comma — and reformats it so each column has a consistent, fixed width. The result is properly aligned output that looks clean and readable in a monospace context: terminal windows, code comments, documentation, and README files.

Without alignment, even simple tabular data becomes illegible when displayed in a fixed-width font. Names of different lengths, numbers with varying digit counts, and status labels of unequal size all end up misaligned, making the data hard to scan. A column aligner solves this by padding every cell to the width of the longest value in its column.

💡 Looking for high-quality web development assets? MonsterONE offers unlimited downloads of templates, UI kits, and developer tools — worth checking out for your next project.

Why Column Alignment Matters in Plain Text

Developers encounter tabular plain text in many contexts: configuration files, shell script output, log lines, API response dumps, and documentation. When this text is displayed in environments that don't render HTML or Markdown, proper column alignment is the only way to make it readable. A log file where timestamps, log levels, and messages are all left-padded to consistent widths is dramatically easier to scan than a raw dump of variable-length strings.

README files on GitHub are another common case. While GitHub renders Markdown tables beautifully, not every viewer does. Some developers prefer maintaining raw plain-text alignment in their READMEs so the source file is readable without rendering — for example, when viewed in a terminal with cat README.md or a basic text editor.

Supported Delimiters and When to Use Each

The Text Column Aligner supports four common delimiters, plus an auto-detect mode:

Left, Right, and Center Alignment Explained

Column alignment refers not just to whether columns are padded, but to how values sit within their allocated width:

Generating Markdown Tables from Plain Text

When the Markdown table output mode is selected, the tool treats the first row of input as the table header and automatically generates a separator row with --- dashes. Alignment hints are encoded in the separator: colons on the left for left-aligned columns, colons on the right for right-aligned, and colons on both sides for centered columns — following the GFM (GitHub Flavored Markdown) table specification.

This makes it easy to convert a pipe-delimited data dump into a fully valid Markdown table in one step, without manually counting dashes or adding colons.

Use Cases for Developers and Technical Writers

There are many practical scenarios where the Text Column Aligner saves time:

How the Alignment Algorithm Works

The alignment process works in two passes. In the first pass, every row is split by the chosen delimiter and each cell is trimmed of leading and trailing whitespace. The maximum character width of each column across all rows is computed. In the second pass, every cell is padded to match the column's maximum width using the selected alignment mode (left, right, or center). Rows with fewer columns than the maximum are padded with empty cells on the right. Blank input lines are preserved as blank output lines to maintain paragraph structure.

For multibyte and Unicode text, the tool uses mb_strlen to count characters correctly, ensuring that text containing accented characters or non-ASCII symbols is padded accurately.

Difference Between Plain Text and Markdown Output

In plain text mode, the output uses configurable separators: spaces, pipes, or double-spaces between columns. This is the best choice for terminal output, code comments, and documentation that will be viewed in a monospace context without Markdown rendering.

In Markdown table mode, the output is wrapped in pipe characters and includes a header separator row. The first row of input becomes the column headers, and all subsequent rows become table body rows. This output is ready to paste directly into a GitHub README, Notion page, or any Markdown-rendering editor.