What Pub 1220 is, and why it still matters
Publication 1220 is the IRS specification for filing information returns through FIRE: fixed-length 750-character records, one line each, in a fixed order. The FIRE filing window closes on Nov. 19, 2026, and from Jan. 1, 2027 IRIS, which takes XML or CSV instead, is the only electronic system for originals, prior years and corrections. But years of 1099 data sit in Pub 1220 files, a lot of software still writes them, and converting that data to IRIS starts from them. Reading one by hand means counting characters against a 160-page PDF. This tool does the counting.
The six records
| Record | What it is | Where |
|---|---|---|
| T | Transmitter: who sends the file, TCC, test indicator, contact, software vendor. | First record of the file. |
| A | Issuer (payer): TIN, name, address, type of return and the amount codes in use. | Before each issuer's payee records. One per issuer per form type. |
| B | Payee: one per information return. Positions 1-543 are the same for every form; 544-750 are form-specific. | After its A record. |
| C | End of issuer: the payee count and control totals for each payment amount field. | After the issuer's last B record. |
| K | State totals for the Combined Federal/State Filing program, one per state. | After the C record, only for CF/SF. |
| F | End of transmission: the number of A records. | Last record of the file. |
Payment amount fields and amount codes
The B record carries eighteen 12-position payment amount fields, from Payment Amount 1 at positions 55-66 through Payment Amount J at 259-270, in cents with no decimal point. What each one means depends on the form: the A record lists the amount codes in use in positions 28-45, and the code tables in the A record section of Pub 1220 map each code to a box. Pick a form above to see its codes and the positions they occupy. The decoder shows each amount in dollars.
Which edition a file follows
- Tax year 2021 to 2025 (Rev. 10-2021 to Rev. 5-2026): the positions in this tool. The T, A, B, C and K layouts did not move between these editions; what changed were code values and a few form fields.
- Tax year 2020 and earlier: different. Payment Amounts H and J did not exist, so the payee name started at position 248 instead of 288, the A record amount codes were 16 characters (28-43), and the C and K records had no control totals H and J.
- The Rev. 9-2022 printing error: that edition's A record table shows the foreign entity indicator at 54 and the first issuer name at 55-94. Its own text, and the editions on either side, use 52 and 53-92, which is what this tool shows.
- Prior-year data: a file for an earlier year uses the current edition's layout, with the year in positions 2-5 and a "P" in T record position 6.
Type of return codes
| Form | Type of return (A 26-27) | Amount codes |
|---|---|---|
| Form 1097-BTC | BT | 13 |
| Form 1098 | 3 | 6 |
| Form 1098-C | X | 2 |
| Form 1098-E | 2 | 1 |
| Form 1098-F | FP | 4 |
| Form 1098-Q | QL | 15 |
| Form 1098-T | 8 | 5 |
| Form 1099-A | 4 | 2 |
| Form 1099-B | B | 10 |
| Form 1099-C | 5 | 3 |
| Form 1099-CAP | P | 1 |
| Form 1099-DIV | 1 | 17 |
| Form 1099-G | F | 7 |
| Form 1099-INT | 6 | 12 |
| Form 1099-K | MC | 15 |
| Form 1099-LS | LS | 1 |
| Form 1099-LTC | T | 2 |
| Form 1099-MISC | A | 13 |
| Form 1099-NEC | NE | 2 |
| Form 1099-OID | D | 10 |
| Form 1099-PATR | 7 | 12 |
| Form 1099-Q | Q | 3 |
| Form 1099-R | 9 | 10 |
| Form 1099-S | S | 2 |
| Form 1099-SA | M | 3 |
| Form 1099-SB | SB | 2 |
| Form 3921 | N | 2 |
| Form 3922 | Z | 4 |
| Form 5498 | L | 13 |
| Form 5498-ESA | V | 2 |
| Form 5498-SA | K | 5 |
| Form W-2G | W | 3 |
Form 1099-DA and the forms added for 2026 (1098-VLI, 1099-LPS, 5498-TA) have no Pub 1220 layout. They exist only in IRIS.
Questions people ask
Can I still file a Pub 1220 file?
Only through FIRE, until its filing window closes on Nov. 19, 2026. From Jan. 1, 2027 everything goes through IRIS, which does not accept Pub 1220 files. TIN Comply's Pub 1220 to IRIS Converter converts and checks one in the browser.
Why is my record 748 characters?
Positions 749-750 are blank or a carriage return and line feed. Some tools strip trailing blanks; FIRE expects every record to be exactly 750.
How are amounts written?
In cents, right-justified and zero-filled, with no decimal point, sign or comma: $1,234.56 is 000000123456. The decoder converts them to dollars.
Where is the name control?
B record positions 7-10 for the payee, A record 21-24 for the issuer. The name control calculator derives it the IRS way.