Free fixed-width ↔ CSV converter. No signup.
Every field.
In its right place.
Turn CSV, JSON, or delimited text into a fixed-width file—or split a positional file back into CSV. Set the layout, check every record, and download a file that fits.
File conversion runs on your device.
id,name,amount
42,Ada Chen,125.50
87,Sam Reed,80.001234567890123456789012345
00042Ada Chen····00125.50
00087Sam Reed····00080.0025 characters. No guesswork.
Make it fixed-width.
A small tool for very specific files.
1 Add your data
First row = column names. Choose the matching delimiter, then Use data. TXT supports delimited records.
Ready when you are.
2 Arrange your fields
Start with one field. Choose its data and size, then check the example below. Click any field to edit it.
Choose the CSV column that identifies each row type. Every row must match exactly one layout. Output keeps CSV order, including any header and trailer rows you supply.
Edit fields below for the selected type. Suggestions use its populated columns; review widths, constants and padding against your format. Matching is exact and case-sensitive. Totals and extra rows are not generated automatically. AI setup supports both directions and multiple row types.
Set up with an AI assistant
Keep this page open in a browser with WebMCP support. Give your browser agent the file-format instructions and ask it to configure FlatFilePro. Review its layout, then use Export layout.
Tools share column names and field settings with your agent. Existing constant values and generated output are hidden. Source records are excluded unless you authorize the agent to request a small sample (up to 3 records). Your agent may separately read the page according to its permissions.
WebMCP is unavailable in this browser. You can still edit or import a layout.
Output: ASCII, no BOM. One character = one byte. Non-ASCII values are flagged.
3 Check & download
Validate your layout to preview the result.
Your aligned records will appear here.
Visible dots are only a preview aid. Your downloaded file contains real spaces.
Need this file every week or night?
1 Add positional records
One record per line. Keep trailing spaces. Each record must match its layout’s total width. Enable Multiple row types for files with different layouts. Tabs and non-ASCII characters are not supported.
2 Split into columns
Start with suggested columns, then check the sample values below. Rename columns and adjust their positions and lengths to match your file. Positions start at 1.
Each type has its own columns and record length. Recognise records by an exact code at a fixed position.
Detection replaces the current types with suggestions. Review each layout before converting.
1. Choose a row type to edit its columns
How these rows are recognised
These settings identify rows in your file. Define their CSV columns below.
CSV keeps file order and includes only your configured columns. Column names must be different within a row type. Reuse a name across types to share one CSV column; other cells stay blank. Unmatched or ambiguous records block download. Excluded types still have their code and length checked.
Define the CSV columns
Load a file to suggest columns from consistent spacing. Existing layouts are kept.
Export keeps the column names and positions. The trim-spaces checkbox is a separate session setting. Fields appear in CSV in the order listed. Gaps are ignored. All named fields are extracted, including fields previously used for constants.
3 Check & download CSV
Ready to check your records.
Your CSV will appear here.
Is this a recurring file drop?
Preview: header and first 20 records. CSV preserves zeros and other padding characters; only surrounding spaces are optionally removed. Excel may interpret numeric-looking columns as numbers—import those columns as Text to retain leading zeros. Only open trusted data in spreadsheet software; formula-like values are preserved.
Keep a layout for next time: export an .ffspec file in either direction. The forward builder also supports Browser storage. Import or load it with fresh source data.
Exact formats.
Less fiddling.
For imports, legacy systems, and the file someone still needs every Friday.
- Bring the data
Choose CSV, JSON or delimited TXT, or paste a few records. Nothing is sent to a server.
- Give each field a home
Choose its source, start position, width, alignment, and padding. Add constants where you need them.
- Catch problems before import
Check required values, number formats, overlapping fields, and values that don’t fit. Download once every check passes.
Same layout.
One less manual job.
A nightly ERP export. A weekly import. Another file waiting in SFTP. We’re exploring a CLI that reuses your saved layout and removes the manual conversion step.
Proposed price: US$99 lifetime. No payment today.
What we’re planning
- Reuse your
.ffspeclayouts - Run on Windows and Linux
- Schedule with PowerShell, cron, or CI
- Validation, exit codes, and JSON reports
- Local processing, no cloud dependency
The CLI is not available yet. Features, pricing, and release timing may change.
A few useful details.
Does my data leave my browser?
Parsing, validation, and file generation happen on your device. If you use an AI browser agent, WebMCP tools share column names, field settings and validation summaries with that agent. Generated output and existing constant values are excluded. Source records are excluded by default; with your authorization, the agent can request a bounded sample of up to 3 records. The agent may separately read the page according to its permissions. There are no file uploads, external fonts, or third-party scripts in this package. Refreshing the page clears your source data. Layouts are saved in browser storage only when you choose Browser storage → Save. A saved layout includes field rules and any constants you enter, but no source records.
What formats does the free tool support?
CSV and TXT with headers, using commas, semicolons, tabs, or pipes; JSON arrays of flat objects. JSON properties become columns, and missing or null values become blanks. Nested JSON is not supported. Choose Fixed-width → CSV to extract positional TXT or DAT records using a layout. Output is printable ASCII with LF or CRLF line endings. This MVP supports up to 2 MB of source data, 10,000 rows, 100 fields, a 10,000-character record, and 20 MB of output. Both directions support separate layouts for multiple row types. CSV output can explicitly exclude types; fixed-width output follows a type column and includes header/trailer rows supplied in the source. XLSX, automatic totals, automatic extra rows and bank certification are not supported.
How are numbers and long values handled?
Values stay as text: decimals are not rounded or reformatted. Integer validation allows digits only; decimal validation allows an unsigned number with an optional decimal point. Overlong values block download. Padding and trimming are explicit field settings.
Is the browser tool really free?
Yes. Manual conversion and saving layouts are free, without an account. The planned paid tool would add unattended automation. No purchase is required to use this converter.
What about analytics and early access?
This package ships with analytics off. Optional hooks expose only event names and aggregate counts, never filenames, source contents, field names, or constants. The automation questionnaire prepares an email draft from answers you choose to share. It sends nothing and stores nothing; you review and send it in your mail app. We cannot track email delivery. If an external signup page is configured, you choose whether to visit it.