CSV or Excel (.xlsx)

Import an existing OSHA 300 Log

Upload the spreadsheet you already keep. LogStead checks every case with the same rules as manual entry and saves nothing until you import the clean rows. Imported cases arrive as drafts for your review.

What you can upload

A CSV from Excel, Google Sheets, or LibreOffice, with your columns in any order. You match them to LogStead’s fields in the next step, and LogStead suggests the matches from your headers.

An Excel workbook (.xlsx). If a sheet is laid out like OSHA Form 300, with the form’s column letters in the header row and an X in one outcome box (G–J) and one type box (M-1 to M-6) per case, the X marks become the case classification and the injury or illness type. LogStead’s free 300/300A workbook is laid out that way, so it uploads as it is. Problems are reported with the row number your spreadsheet shows.

One establishment per upload, up to 500 cases per file. OSHA requires “a separate OSHA 300 Log for each establishment that is expected to be in operation for one year or longer” (29 CFR 1904.30(a)), so import each location’s log on its own.

Not read: scanned pages, photos, and PDFs, and older .xls files. Save an .xls as .xlsx or CSV first.

How it works

  1. Choose the establishment and upload the file. Owners, admins, and managers can import.
  2. Match your columns. Required: employee name, job title, date of injury or illness, where the event occurred, description, injury or illness type, and case classification. Everything else is optional, including time of event, the day counts, date of death, emergency-room treatment, overnight hospitalization, and a privacy-case flag.
  3. Preview. Every row is checked, and the ones that cannot be imported are listed with the reason.
  4. Import. Clean rows are saved as draft incidents, marked recordable with the classification from your log. They join the establishment’s 300 Log when you review and finalize them.

What the import checks

  • Dates that can be real

    YYYY-MM-DD, MM/DD/YYYY, or an Excel date cell. A date before 2000 or in the future is refused.

  • One classification per case, consistent with its day counts

    Death, days away from work, job transfer or restriction, or other recordable case (columns G–J). A days-away case needs days in K, and a job transfer or restriction case needs days in L. Days away can’t sit on a transfer/restriction or other-recordable case, restricted days can’t sit on an other-recordable case, and a date of death needs the death classification.

  • One injury or illness type

    Injury, skin disorder, respiratory condition, poisoning, hearing loss, or all other illnesses (M-1 to M-6).

  • Day counts as whole numbers

    Days away (K) and days of job transfer or restriction (L), 0 to 365. A blank counts as 0.

  • Possible duplicates, flagged rather than guessed

    A row with the same employee name and date as an incident already in that establishment, or as an earlier row in the same file, is held back unless you choose to include it.

Privacy cases

On a paper log, OSHA says to “enter ‘privacy case’ in the space normally used for the employee’s name” and to keep “a separate, confidential list of the case numbers and employee names” (29 CFR 1904.29(b)(6)).

LogStead keeps that list for you. Import the real name from your confidential list and mark the row as a privacy case, and LogStead masks the name on the log and every export. A row whose name still reads “Privacy Case” is held back so you can add the name. A Form 300-style sheet has no privacy column, so add one headed “Privacy case” and put Yes in the rows it applies to.

What the import does not do

  • It does not decide recordability. An existing 300 Log already holds your recordable cases, so each imported case keeps its classification. For a case you are unsure about, the free Recordability Checker walks the decision tree.

  • It does not fix rows for you. A row the rules cannot accept is listed with the reason. Fix it in your spreadsheet and upload again, or import the clean rows now and add that case by hand.

Questions

Can I import my OSHA 300 log from Excel?
Yes. Upload the .xlsx file, or save the sheet as CSV. A sheet laid out like OSHA Form 300, with the form’s column letters in the header row and an X in one outcome box and one type box per case, is read as a form. LogStead’s free 300/300A workbook is laid out that way, so it uploads as it is.
Can I import a scanned or PDF 300 log?
No. The import reads spreadsheet files (CSV or .xlsx), not scanned pages, photos, or PDFs. Type a paper log into a spreadsheet first, such as the free workbook, and upload that.
Does importing change my classifications?
No. Each case keeps the classification from your log, and its record says it was imported from your existing log. A row the rules cannot accept, such as two outcomes checked or days away on a case classified as other recordable, is listed with the reason and left for you to fix. The import does not correct it for you.
How many cases can I import at once?
Up to 500 per file, into one establishment at a time. Your plan’s yearly incident limit applies to imported cases too.

This tool gives general information based on OSHA’s recordkeeping rules (29 CFR Part 1904) to help you understand your obligations. It is not legal advice and does not replace the current regulation or the judgment of a qualified safety professional. Rules can change and edge cases exist — verify results against the current text at osha.gov/recordkeeping and consult a professional before making a compliance decision.

Start from the log you already have

The import is part of every plan and of the 14-day trial. Bring last year’s log in, and the cases you add from then on get the recordability wizard, day counts that keep themselves current, and the 300A and ITA files built from the log.

Start your free 14-day trial

No credit card required.

Not ready for an account? Open the live demo — the whole product on sample data, nothing to sign up for.