ISO 8583 Parser
Free · Parser · ~5 min read · Updated 2026-08-09
online tool

Visa BASE II CTF Clearing File Parser

Drop a Visa BASE II CTF file here and read it as transactions instead of fixed-width text. Records are aggregated by TCR so one transaction reads as one block.

Your file is parsed entirely in this browser tab using client-side JavaScript. Nothing is uploaded, stored or logged. Clearing files carry real PANs and real transaction data — that is exactly why this tool has no server side.

If the output looks shifted, the record length is wrong — CTF files are normally 168 bytes per record, but a feed that was re-wrapped somewhere upstream will not be.

What is inside a CTF file

Fixed-length records
There is no bitmap and no length prefix. Every record is the same width — normally 168 bytes — and every field sits at a fixed offset. Get the record length wrong and every field in every record shifts by the same amount, which looks like garbage rather than an error.

TC / TCQ / TCR
The first four characters classify the record: a two-digit transaction code (TC) says what kind of transaction it is, a qualifier (TCQ) narrows it, and a TCR number says which slice of that transaction this row carries.

One transaction spans several rows
TCR 0 opens a transaction and carries the money: account number, amount, currency, auth code, merchant. TCR 1 and TCR 4 carry extra detail about the same transaction. This tool groups them, so a transaction that occupies three physical rows reads as one block.

EBCDIC
Files that came off a mainframe are EBCDIC, not ASCII: digits sit at 0xF00xF9 instead of 0x300x39. Pick the encoding manually if the text comes out as punctuation soup.

Reading the output

Each transaction shows as a card with the transaction code, the acquirer reference number and the amount. Open it for the field-by-field breakdown, the raw rows, and JSON.

The PAN is masked on screen — first six and last four. CSV export masks it too unless you tick the box, and you should have a reason before you do: a CSV of live PANs in your downloads folder is the thing your security review is about.

Amounts are shown using the currency's minor-unit exponent, not a blanket divide by 100. A JPY amount of 1000 is ¥1000, not ¥10.00 — see the currency exponent table for the ones that are not two.

What this tool does not do

It reads transaction records, not reports. Settlement and reconciliation report files are a different format and are not handled here.

It covers a subset of the fields. The fields it names are the ones that answer the everyday question — which card, how much, which merchant, which auth code. A record carries more than that, and other TCR numbers are shown as raw rows rather than parsed.

Check values against your own specification before you act on them. Field positions vary between message families and between processors. Where this page and the specification your processor gave you disagree, your specification is right.

Read next

Clearing file you cannot upload? Offline edition →