Sources
Each rule in the converter comes from one of these. Where OSHA's documents disagree, the stricter reading is used and the page says so.
| Claim | Source | Read |
|---|---|---|
| The ITA takes data three ways: web form, CSV upload, API. Separate instructions, template and sample exist for the 300A file and the 300/301 file. | https://www.osha.gov/injuryreporting | 2026-11-10 |
| Notice on the ITA page: the deadline for timely submission was March 2, 2026, and establishments who missed it must still submit. | https://www.osha.gov/injuryreporting | 2026-11-10 |
| 300/301 CSV header row: 24 column names, establishment_name to date_of_death (the converter's header row is compared to this file, character by character, every time the site is built and checked). | https://www.osha.gov/sites/default/files/ita_template_form_300-301_csv_data.csv | 2026-11-10 |
| 300/301 sample rows: dates as m/d/yyyy, times such as 8:00 and 20:15, time_unknown 1 with a blank time, blank sex accepted, one row with outcome 3 and zero days. | https://www.osha.gov/sites/default/files/ita_sample_form_300-301_csv_data.csv | 2026-11-10 |
| 300/301 field definitions, formats, lengths and required flags; outcome codes 1-4; type codes 1-6; dates mm-dd-yyyy or mm/dd/yyyy; times 24-hour hh:mm; case number unique within the establishment; establishment names must match exactly; file may hold several establishments; version 1.5 dated 1-29-2025. | https://www.osha.gov/sites/default/files/ita_case_data_csv_specifications.pdf | 2026-11-10 |
| 300A CSV header row: 28 column names; second column is 'ein' (the converter's header row is compared to this file in the same way). | https://www.osha.gov/sites/default/files/osha_ita_summary_data_csv_template-revised.csv | 2026-11-10 |
| 300A sample rows: size codes 21, 22, 3; nine-digit ZIP without dash. | https://www.osha.gov/sites/default/files/osha_ita_summary_data_csv_sample_data-revised.csv | 2026-11-10 |
| 300A data dictionary: field formats and lengths; EIN nine digits without dashes; ZIP five or nine digits; NAICS six digits (2012, 2017 or 2022); size codes 1, 21, 22, 3; no decimals; employees > 0 and should be < 25,000; hours/employees must be < 8760 and should be > 500; the six additional validations on G-J, K, L and M1-M6; files processed every three hours; 1000 records per file recommended; quoting of commas and quotes; preview environment URL; two confirmation emails. | https://www.osha.gov/sites/default/files/osha_ita-estab-and-summary-csv-documentation_revised.pdf | 2026-11-10 |
| ITA User Guide, last update December 2025: 300/301 CSV submission checklist (letters and numbers only in job title and location; no special characters such as periods and dashes in the description; file-wide list ( ) ~ @ # $ % ^ & * ?; outcome 2 needs days away > 0; outcome 3 needs transfer days > 0 and days away = 0; date of incident in the filing year; Excel adds seconds to times); 300A must be submitted before 300/301; due March 2 of the year after the data year. | https://www.osha.gov/sites/default/files/ita_user_guide.pdf | 2026-11-10 |
| ITA FAQ: decimals or commas in number fields reject the CSV; leading-zero ZIP fix; size code 2 replaced by 21 and 22 in 2023; outcome 3 with zero or blank djtr_num_tr is not accepted; 'ERROR: Unable to locate the establishment with the specified name' and its three causes; G-J must equal M1-M6; fields not submitted (300 column B; 301 items 1, 2, 6, 7); personal information to keep out of text; sex may be blank; date of birth converted to first of month; late data accepted through December 31; ITA opened January 2, 2026 for 2025 data; CSV upload is submitted automatically; NAICS must be six digits. | https://www.osha.gov/injuryreporting/faqs | 2026-11-10 |
| Form 300 column letters (A) to (M)(1)-(6), 'select only one circle based on the most serious outcome', date example '2/10'; Form 301 item numbers 1 to 18; Form 300A worksheet: round average employees up to the next highest whole number. | https://www.osha.gov/sites/default/files/OSHA-RK-Forms-Package.pdf | 2026-11-10 |
| 29 CFR 1904.41: the three categories that must submit electronically; 300/301 data from establishments with 100 or more employees in Appendix B industries; every person employed at any time in the year counts; due March 2 of the year after the year covered. | https://www.ecfr.gov/current/title-29/section-1904.41 | 2026-11-10 |
| 29 CFR 1904.32(b)(6): post the annual summary no later than February 1 and keep it posted until April 30. | https://www.ecfr.gov/current/title-29/section-1904.32 | 2026-11-10 |
| 29 CFR 1904.7(b)(3)(vii): day counts may be capped at 180 calendar days. | https://www.ecfr.gov/current/title-29/section-1904.7 | 2026-11-10 |
| OSHA's ITA Coverage Application exists and is linked from the ITA page (used as a link only; this site has no coverage checker). | https://www.osha.gov/itareportapp | 2026-11-10 (link seen on the ITA page; the app itself was not opened) |
Not verified
- No file from this converter has been uploaded to the ITA or to OSHA's preview environment (preview.osha.gov/injuryreporting/ita). Acceptance is inferred from OSHA's published documents only. Try your file in the preview environment first.
- OSHA does not publish the ITA's full validation logic. The checks here are the published ones.
- OSHA's documents disagree on times: the specification says 24-hour hh:mm (17:30), the sample file uses 8:00, and the User Guide checklist tells Excel users to format as h:mm AM/PM. The converter writes zero-padded 24-hour hh:mm.
- OSHA's sample 300/301 file has text with periods, commas and apostrophes, while the User Guide checklist says no special characters such as periods and dashes in the description. The converter follows the checklist, except that a period between two digits (a decimal point, as in 2.5) is kept in the description, because removing it would change a number. Whether the ITA turns down a decimal point there is not published; the sample file suggests it does not.
- OSHA's sample file has a case with outcome 3 and zero days in both day columns, while the FAQ says zero or blank is not accepted for outcome 3. The converter follows the FAQ.
- The data dictionary PDF names the EIN column 'ein_number'; the template and sample files use 'ein'. The converter uses the template header.
- The checklist's list of special characters ends with an ellipsis, so the list may not be complete.
- OSHA's forms page offered Forms 300, 300A and 301 as a PDF only on 2026-11-10, so reading of the paper-style layout was checked against a sheet laid out with the PDF's column letters, not against an OSHA workbook.
- NAICS codes are checked for six digits only, not against the NAICS lists.
- The March 2, 2027 date for 2026 data is derived from 29 CFR 1904.41(c); OSHA had not posted a 2027 notice on the pages read.
- The eCFR text was read through the eCFR API for the date 2026-10-01.
- Name removal is pattern matching on the employee's own name from column (B). Only the full name (as written, first and last together, 'Last, First', or a title with the last name) is removed automatically, and only in the description and the four text answers. A first or last name on its own is pointed out and left for the user. Supervisors' names, nicknames and addresses are not detected.
- Outcome and type written in words are read by matching the words on Form 300 (death/fatal, days away/lost time, transfer/restriction/light duty, other recordable/medical treatment; injury, skin, respiratory, poisoning, hearing, other illness), with 'not', 'non', 'no', 'without' and 'never' treated as a denial. Each reading is shown as was and now. Other wordings are left for the user to choose.
- A dotted date such as 04.05.2025 is read month first (April 5) and flagged 'check day/month order'; the converter cannot know which order a sheet uses.
- Text files are decoded as UTF-8, UTF-16 (with or without a byte order mark) or Windows-1252. Other legacy encodings (for example Mac Roman or Windows-1250) are read as Windows-1252 and would show wrong accented letters without any flag.
- A sheet is read up to 50,000 rows and 200 columns; a longer or wider sheet is refused with a message rather than read in part. OSHA recommends 1000 records or fewer per file.
- Checked in Chromium, Firefox and WebKit on macOS. Not checked on an iPhone, on Windows or in Edge. Legacy .xls files go through the same reader but were not part of the checks.
- Letters outside plain A to Z (for example ñ or é) are kept as written in the description and the four text answers, and the cell is flagged. OSHA's published documents do not say whether the ITA accepts them.
- A time written as a whole number in a number cell (730, 1430) is read as hhmm and shown as a repair to check. A time written with a dot (8.30) is read as hh:mm and flagged, because it could also mean hours as a decimal. A number from 1 to 59 is not read as a time.
- Establishment names that differ only by capitals, spaces or punctuation are kept as separate establishments and pointed out; the converter cannot see the names in your ITA account.
Software included
- SheetJS Community Edition (xlsx) 0.20.3, Apache-2.0. Reads .xlsx and .xls files in the browser. Loaded only when a spreadsheet is dropped. Served from /vendor/.
- Archivo variable font v25 latin subset, SIL Open Font License 1.1 (a font licence, not MIT/Apache/BSD). The one typeface, one file, served from /fonts/.