Logmend / Reference
ITA 300/301 CSV columns
The Form 300/301 case file for OSHA's Injury Tracking Application (ITA) has 24 columns, one row per case. The header row must match these names exactly.
Have the log open? Drop it in and get both ITA files with the errors repaired.
Open the converter| CSV col | Header name | Comes from | Format | Length | Required | Rule | What the converter does |
|---|---|---|---|---|---|---|---|
| A | establishment_name | Est. | Character | 100 | Yes | Must match the establishment name in your ITA account exactly. | Trims stray spaces. Cannot check the name against your ITA account. |
| B | year_of_filing | Year | Integer | 4 | Yes | Four digits. The calendar year in which the injuries and illnesses occurred. | Filled from the year you pick. |
| C | case_number | 300 (A) | Character | 100 | Yes | Unique within the establishment. | Turns 3.0 into 3. Flags duplicates for you to renumber. |
| D | job_title | 300 (C) | Character | 255 | Yes | User Guide checklist: letters and numbers only, no periods, slashes, dashes or colons. | Replaces other characters with a space. Words are never removed from this column. |
| E | date_of_incident | 300 (D) | mm-dd-yyyy or mm/dd/yyyy | 10 | Yes | Must fall in the filing year. | Rewrites Excel dates, text months and 2/10-style dates as mm/dd/yyyy. |
| F | incident_location | 300 (E) | Character | 255 | Yes | User Guide checklist: letters and numbers only. | Replaces other characters with a space. Words are never removed from this column. |
| G | incident_description | 300 (F) | Character | 255 | Yes | User Guide checklist: no special characters such as periods or dashes, and no personal information. | Removes periods (a decimal point between two digits is kept), dashes and listed special characters; removes the employee's full name, phone numbers, emails and SSN patterns. |
| H | incident_outcome | 300 (G)-(J) | Integer | 1 | Yes | 1 death, 2 days away from work, 3 job transfer or restriction, 4 other recordable case. | Reads the mark in columns (G) to (J), or the outcome in words, and writes the code. Shown as was and now. |
| I | dafw_num_away | 300 (K) | Integer | 3 | Yes | Whole number. Greater than zero when the outcome is 2. Zero when the outcome is 3. | Writes 0 for blanks, strips "days", drops .0. |
| J | djtr_num_tr | 300 (L) | Integer | 3 | Yes | Whole number. Greater than zero when the outcome is 3. | Writes 0 for blanks, strips "days", drops .0. |
| K | type_of_incident | 300 (M) | Integer | 1 | Yes | 1 injury, 2 skin disorder, 3 respiratory condition, 4 poisoning, 5 hearing loss, 6 other illnesses. | Reads the mark in columns (M1) to (M6), or the type in words, and writes the code. "Illness" alone is asked about. |
| L | date_of_birth | 301 (3) | mm-dd-yyyy or mm/dd/yyyy | 10 | Yes | A full date. | Rewrites as mm/dd/yyyy. |
| M | date_of_hire | 301 (4) | mm-dd-yyyy or mm/dd/yyyy | 10 | Yes | A full date. | Rewrites as mm/dd/yyyy. |
| N | sex | 301 (5) | Character | 1 | No | M, F or blank. The ITA does not reject a blank. | Turns Male and Female into M and F. |
| O | treatment_facility_type | 301 (8) | Integer | 1 | Yes | 1 for yes, 0 for no. | Turns Yes, No, Y, N into 1 and 0. |
| P | treatment_in_patient | 301 (9) | Integer | 1 | Yes | 1 for yes, 0 for no. | Turns Yes, No, Y, N into 1 and 0. |
| Q | time_started_work | 301 (12) | Time (hh:mm) | 5 | No | 24-hour time, for example 17:30. | Turns 7:30 AM, 0730 (also 730, once a spreadsheet has dropped the zero) and Excel times with seconds into 07:30. |
| R | time_of_incident | 301 (13) | Time (hh:mm) | 5 | No | 24-hour time, for example 17:30. | Turns 2:15 PM into 14:15. |
| S | time_unknown | 301 (13) | Integer | 1 | Yes, if the time of incident is unknown | 1 if the time is unknown, otherwise blank. | Writes 1 only when your sheet or you say the time is unknown. A blank time is asked about, never assumed. |
| T | nar_before_incident | 301 (14) | Text | N/A | Yes | No personal information. | Removes listed special characters and personal information patterns. |
| U | nar_what_happened | 301 (15) | Text | N/A | Yes | No personal information. | Removes listed special characters and personal information patterns. |
| V | nar_injury_illness | 301 (16) | Text | N/A | Yes | No personal information. | Removes listed special characters and personal information patterns. |
| W | nar_object_substance | 301 (17) | Text | N/A | Yes | No personal information. | Removes listed special characters and personal information patterns. |
| X | date_of_death | 301 (18) | mm-dd-yyyy or mm/dd/yyyy | 10 | Yes, if death is recorded | Only when the outcome is 1. | Rewrites as mm/dd/yyyy. |
Three things the table does not show
- The file can hold cases for one or more establishments. Each row names its establishment in column A.
- The 300A data for an establishment must already be in the ITA. If the name is not found, the file is rejected.
- Employee names (Form 300 column B) have no column. They are not submitted.
Short answers
How many columns does the OSHA 300/301 CSV have?
Twenty-four, from establishment_name to date_of_death. The first row must be the header row with the exact column names from OSHA's template.
Is sex required in the 300/301 CSV?
No. OSHA's specification marks it optional and says the ITA does not reject a submission that leaves it blank. Use M, F or blank.
Sources
- DOL OSHA ITA Case Data CSV Specifications, version 1.5 (1-29-2025)
- OSHA Form 300/301 CSV template
- ITA User Guide (last update December 2025)
Read on 2026-11-10. OSHA can change these documents; the link is the authority. Logmend is an independent information tool. It is not affiliated with or endorsed by OSHA or the U.S. Department of Labor, and it is not tax, legal or professional advice.