Free browser conversion · no account

Turn columns into exact positions.

Convert CSV, JSON or delimited TXT to a fixed-width file without writing a script or uploading your records.

Convert a file for free ↗

Start with the receiving system’s layout

A CSV separates values with delimiters. A fixed-width file assigns a set number of characters to every field. The file specification tells you where a field starts, how wide it is, and which padding it needs. FlatFilePro uses positions starting at 1.

Example: a 25-character record
ColumnStartWidthAlignment / padding
id15Right / zeros
name612Left / spaces
amount188Right / zeros

For 42,Ada Chen,125.50, these rules produce the line below. Dots here show spaces; the real file contains spaces.

00042Ada Chen····00125.50

Make the file in three steps

  1. Load data. Include column names in the first row of CSV or TXT. Choose comma, semicolon, tab or pipe. For JSON, use an array of flat objects.
  2. Review inferred fields. The converter suggests widths using the longest trimmed value and right-aligns columns whose populated values look numeric. These are suggestions from this dataset, not a receiving system’s specification. Enter the required widths and choose padding.
  3. Validate and download. Correct missing columns, overlaps, invalid characters and values that are too long. Choose LF or CRLF and whether to end the file with a newline.

Use separate layouts for headers, details and trailers

Include a type column in your source, such as H, D or T. Enable Multiple output row types, choose that column and suggest layouts. Review the fields for each type. Every row must match exactly one layout, and the output follows source row order. Supply any header/trailer rows and totals in the source; the converter does not invent them.

Keep identifiers and amounts intact

Values stay as text: 00042 keeps its zeros and 125.50 keeps its decimal places. JSON numbers retain their original spelling. Automatic right alignment does not enable integer validation or add zero padding. Integer checks allow digits only; decimal checks allow unsigned numbers with an optional decimal fraction. Signed values can remain text.

Nothing is rounded or silently truncated. A value that exceeds its width blocks download. If data came from Excel, export it as CSV first and check that Excel has not already removed leading zeros.

Save the rules for next time

Export a version 1 .ffspec file or explicitly save one layout in Browser storage. Import it with a fresh dataset to reuse the same rules. Layouts contain mappings and constants, but never your source records. See the machine-readable layout schema.

Check the limits before you start

The free tool supports printable ASCII, separate layouts for multiple row types, up to 2 MB of input, 10,000 rows, 100 fields, 10,000 characters per record and 20 MB of output. It does not support XLSX, EBCDIC, binary fields, automatic header/trailer creation or bank certification. Some mainframe and ERP formats need those features; compare the actual specification first.

Already have a positional file? Read fixed width to CSV. Need the same conversion every night? See our plans for scheduled conversion.