EBCDIC Viewer
Mainframe Tools

EBCDIC Viewer

Open any mainframe EBCDIC file and instantly see its records, hex data, and field layout.

Download GitHub
Getting started

Three steps to read any EBCDIC file

1

Open a data file

Click + Open next to Data Files in the sidebar. Pick any .dat, .bin, or raw mainframe file.

2

Load a copybook

Click + Open next to Copybooks. Pick the matching .cpy or .cob file. The app parses it and auto-binds it to your data file.

3

Navigate records

Use the ◀ ▶ arrows in the toolbar to step through records one by one. Each record shows its decoded field values on the left and raw hex bytes on the right.

The interface

What you're looking at

EBCDIC Viewer Data File: COMPANIES.dat Copy Book: COMPANIES.cpy VB
Records Raw file
Record 1 / 1019 ▶
Data Files
📄 COMPANIES.dat
📄 EMPLOYEE.DAT
Copybooks
📄 COMPANIES.cpy
📄 EMPLOYEE.cpy
📁 Record layout  COMPANY-DETAILS 64 bytes
OffLenFieldValue
05 SEGMENT-ID "C"
510 COMPANY-ID "9377942526"
1515 COMPANY-NAME "Joan Q & Z"
3025 ADDRESS "10 Sandton..."
⬡ Hex  CP-037 64 bytes 16/row
00000040 00 00 40 00 C3 00 00 00 00 F9
00000050 F3 F7 F7 F9 F4 F2 D1 96 81 95
00000060 40 D8 40 50 40 E9 00 F1 F0 40
A

Title bar — shows the active data file and copybook. The VB/FB pill switches between Variable-Blocked and Fixed-Blocked record formats. Records / Raw file toggles the view mode.

B

Sidebar — lists all open files and loaded copybooks. Click a copybook to bind it to the selected file. Hover a file to reveal the × close button.

C

Record layout pane — one row per COBOL field. Shows byte offset, length, field name, and decoded value for the current record. Click a row to highlight it in the hex view.

D

Hex pane — raw bytes of the current record. Highlighted bytes correspond to the selected field. Click any byte to jump to its field.

Key controls

Buttons you'll use often

VB

VB / FB toggle

Switch between Variable-Blocked (each record has a 4-byte length prefix) and Fixed-Blocked (all records are the same length). The app auto-detects this on open — only flip it if records look misaligned.

☑ REDEFINES

Show REDEFINES

Some copybooks define multiple layouts over the same bytes (e.g. a field that is either a string or a number depending on record type). Enable this to see all alternate field interpretations side by side, each colour-coded.

Records

Records vs Raw file

Records — navigate one record at a time with the ◀ ▶ arrows. Requires a copybook to be bound.
Raw file — shows the entire file decoded as EBCDIC text, one line per record. Useful for a quick visual scan.

Features

What the app can do

📖

COBOL copybook parser

Drag in any .cpy or .cob file. Handles nested groups, REDEFINES, OCCURS, COMP, COMP-3, and both fixed and free format.

🔢

All numeric types

Correctly decodes zoned decimal, packed decimal (COMP-3), and binary integers (COMP/BINARY) — not just text fields.

🔀

REDEFINES branches

Toggle alternate field layouts for multi-segment files. Each branch gets its own colour so overlapping fields are easy to spot.

📏

VB / RDW detection

Automatically detects IBM Variable-Blocked format (standard and cobrix-style RDW headers) so record boundaries are always correct.

🎨

Light & dark themes

Switch themes, accent colour, bytes-per-row, and codepage (CP-037 / CP-1047) from the ⚙ settings menu.

↔️

Resizable panes

Drag the divider between the record layout and hex panes. Drag column headers to resize individual columns.

Installation

Get the app

🍎 macOS — Homebrew (recommended)

brew tap ramkumarsun-group/tap
brew install --cask ebcdic-viewer

No download dialogs, no quarantine warnings. Works on Apple Silicon and Intel Macs.

🍎 macOS — Manual

  1. Download EBCDIC.Viewer_2.0.0_universal.dmg
  2. Open the DMG and drag the app to Applications
  3. Run in Terminal: xattr -cr "/Applications/EBCDIC Viewer.app"
  4. Double-click to open
The xattr step removes macOS's quarantine flag for unsigned apps.

🪟 Windows

  1. Download EBCDIC.Viewer_2.0.0_x64-setup.exe
  2. Run the installer
Download latest release →