EBCDIC · COBOL copybook · fixed width

Mainframe files, EBCDIC and fixed-width text.

Records in EBCDIC laid out by a COBOL copybook, bank files at fixed columns, extracts nobody has documented — opened as tables, and written back the way they came.

EBCDIC, read with its copybook

A mainframe unload is a file of fixed-length records in an EBCDIC code page, laid out by a COBOL copybook. Intact CSV Editor recognises such files on its own, reads them in any of 52 EBCDIC code pages — 037, 273, 500, 1140 and the rest — and cuts each record into fields at the offsets the copybook gives, including binary (COMP), packed decimal (COMP-3) and zoned decimal numbers.

It writes them back too: Mainframe data in the export sheet writes fixed-length records in the code page you choose, laid out to match a COBOL copybook it can also write for you.

When nobody sent the copybook

A fixed-length file says nothing about where one record ends and the next begins. The app works it out, and when it cannot be sure it shows you: every record length that could be it, likeliest first, three records one under another in a monospaced face — at the right length the fields stand in columns; at a wrong one they walk sideways. The same goes for the code page: every one that can read the file is listed with how well its reading fits.

The layout the app worked out is real — it is what the file was cut by — and Save the Layout as a Copybook writes it down as COBOL, which every mainframe shop reads and anyone can correct: a packed amount reads as text until somebody who knows writes COMP-3 beside it. Every copybook that has read a file is kept in File ▸ Copybooks and offered for the next file whose records are the same length. Variable-length files that still carry their block descriptors (RECFM=VB) are cut into their records.

Fixed-width text, with layouts you keep

Not every fixed-width file is EBCDIC: bank statements, payroll extracts and old exports put fields at fixed columns in plain text. Define the columns once, save the layout under a name with a note on where it is documented, and share it with the next person who has the same file. Layouts are built in for:

  • Swiss ESR V11 credit records — the payment files Swiss banks sent for orange payment slips.
  • NACHA ACH files — file, batch and entry records of US bank transfers.

Then treat it like any other table

Filter, sort, validate with column rules, compare with yesterday's unload, query with SQL, and export to CSV, Excel or Parquet for people who have never seen a copybook.

Questions

Common questions

How do I convert an EBCDIC file to CSV on a Mac?

Open it in Intact CSV Editor with its copybook, check the fields, and export as CSV — in UTF-8 or any encoding the receiving system needs.

What if I do not have the copybook?

Open the file anyway. The app works out the record length and the fields from where the padding falls, shows you the candidates when it is unsure, and writes what it found as a copybook you can correct and keep.

Which EBCDIC code pages are supported?

52 single-byte EBCDIC code pages, generated from ICU's converter data, including the national variants and the Euro pages such as 1140–1149.

Open your most difficult file.

Join the beta and we will write to you as soon as your access is ready. Your files never leave your Mac.

macOS 14 Sonoma or later · How we use your address