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// 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 ColumnsEnter any delimited text — pipe, tab, comma, or space separated. One row per line.
Select delimiter, alignment (left/right/center), padding amount, and output format.
Copy the aligned output or download as a .txt file for use in your project.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The Text Column Aligner supports four common delimiters, plus an auto-detect mode:
Column alignment refers not just to whether columns are padded, but to how values sit within their allocated width:
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.
There are many practical scenarios where the Text Column Aligner saves time:
.env-style key-value pairs for clarity in shared configuration documentation.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.
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.