ARZENTIQ
DEVELOPER & DATA

Fixed-Width Text to CSV

Convert fixed-width (column-aligned) text such as mainframe reports to CSV — boundaries detected from blank columns, or given as widths or character ranges.

CSV with the detected or given columns, the range list you can copy back to fix a boundary, row and column counts, and lines that run past the last range.

Example: "ID NAME CITY" over three lines → ranges 1-2,7-13,19- detected → "ID,NAME,CITY / 1,Ann Lee,Bandung / 22,Bob,Jakarta"; widths 6,12,* give the same; ranges 1-2,7-14 drop the city and say so.

v0.1.0 · last reviewed 21 September 2026
Loading the workspace…
BUILT TO BE UNDERSTOOD

Columns by position,
not by delimiter.

How boundaries are found or given, and where detection can go wrong.

Auto detection

A fixed-width block usually has at least one blank character column between fields. The page marks a position as a gap when every line that reaches it has a space there, then ends a field at each run of gap positions of at least the minimum width. Tabs are expanded to the tab width first so positions match what you see in a monospace editor.

Widths and ranges

When a field is ever completely filled (a long value touching the next field), detection merges two columns. Then give the layout yourself: widths such as 6,14,12,* (the star takes the rest), or 1-based inclusive ranges such as 1-6,7-20,21-32,33- (an open end keeps everything after). The detected ranges are shown so you can paste and adjust them.

Cells and output

Cells are trimmed by default (turn it off to keep padding); the first line can be the header; output is RFC 4180 CSV with the delimiter you pick. Text past the last closed range is dropped and counted. Positions count UTF-16 code units, so a file full of emoji or combining marks may need ranges checked by eye. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.

SOURCES

  • Auto detection: a character position is a gap when every line reaching it has a space; widths "10,8,*" or 1-based ranges "1-10,11-18,19-"; tabs expanded to the tab width first

Last reviewed 21 September 2026. How results are checked: How we verify.