Skip to content

Approaching: Nov 20, 2026 — HCS 2024 Deadline. Get ready →

Original data study29 CFR 1910.1200 App. A.1.3.6SDS sections 2, 3 and 11CSV

We recalculated the acute toxicity class of 78 safety data sheets from their own numbers

A mixture with no test of its own, and no tested mixture close enough to bridge from, gets its acute toxicity class from its ingredients. OSHA's additivity formula in Appendix A.1.3.6 does the math, and the numbers that feed it sit on the same sheet: concentrations in section 3, LD50 and LC50 values in section 11. HazComFast took 78 safety data sheets from two manufacturers and ran the formula on what each one prints. Of the 40 acute toxicity classes the sheets declare, 9 come out exactly and 27 sit inside a range the sheet leaves open. Two more come out only when the solvent vapor is read in ppmV, as note (d) to Table A.1.1 allows, and two cannot be reached with the sheet's own numbers.

Sheets downloaded October 13, 2026 · by HazComFast · method and limits below

Key findings

  1. 1Of the 40 acute toxicity classes declared on 30 sheets, 9 come out exactly from the sheet's own numbers, at both ends of its concentration ranges. Another 27 are possible but not provable: the ranges and the missing values also allow a milder class.
  2. 2On 19 sheets, section 3 lists an ingredient as harmful if inhaled while section 11 prints an LC50 above 20 mg/l, the Category 4 line for vapors. Read in ppmV, as note (d) to Table A.1.1 allows for a vapor that is nearly all gas, xylenes (29.08 mg/l, 6,697 ppmV) and 1-chloro-4-(trifluoromethyl)benzene (33 mg/l, 4,469 ppmV) sit inside Category 4, so both sections can be right. Acetone, at 21,091 ppmV, is outside on both scales. No sheet says which scale it used.
  3. 3Two inhalation classes do not come out in mg/l with the LC50s first, as OSHA's note (b) orders: the closest results are 20.29 and 20.58 mg/l, against a line at 20. Read in ppmV, the main solvent puts one of them in Category 4 at both ends and the other at its most toxic end.
  4. 4Two oral classes rest on ingredients that have no number on the sheet at all. A later sheet from the same manufacturer for a similar tablet prints them, and its class comes out exactly.
  5. 5Only four sheets print the mixture estimate they calculated, 9 figures in all. Of those, 6 fit the range their own numbers allow. The other three are more toxic than anything the listed ingredients can produce, even with every unlisted ingredient pushed to the Category 4 limit.
  6. 6Two sheets declare no inhalation class while their own numbers put the dust estimate in Category 4 or worse at both ends. A pack sheet from the same manufacturer uses the same ingredient value and declares Harmful if inhaled.
  7. 7Of the 67 sheets from one manufacturer, 56 print the unknown acute toxicity share. The median is 16% and the highest 94%, on two fibered roof coatings. One of them declares Harmful if inhaled, a class that rests on the remaining 6% of the mixture.
  8. 8On 39 of the same 67 sheets, at least one LD50 or LC50 is printed without a unit, 79 values in all. A vapor LC50 of "25" can be read in mg/l, in ppm or in mg/m3.
  9. 9None of the 30 sheets that declare acute toxicity reports a test of the product itself, and 22 of them say so in words. One sheet in the sample is a 2013 MSDS with no GHS classification, still served as the product's sheet.

Check your own sheet with the same engine. The free calculator runs the Appendix A.1.3.6 formula, the unknown-ingredient rules and both ends of the ranges.

Open the ATEmix calculator

How OSHA builds a mixture's class

Appendix A works in tiers. A mixture tested as a whole is classified on its own LD50 or LC50 (A.1.3.4). None of the sheets in this study reports such a test. When the mixture was not tested but a similar one was, A.1.3.5 lets the classifier bridge from it, by dilution or batching for instance. When neither works, Appendix A adds up the ingredients, route by route, and compares the result with the acute toxicity cut-offs: 2,000 mg/kg for oral and dermal Category 4, 20 mg/l for vapors, 5 mg/l for dusts and mists, 20,000 ppmV for gases.

"The acute toxicity estimate (ATE) for the classification of a substance or ingredient in a mixture is derived using: (i) the LD50/LC50 where available. Otherwise, (ii) the appropriate conversion value from table 1.2 that relates to the results of a range test, or (iii) the appropriate conversion value from table 1.2 that relates to a classification category" 29 CFR 1910.1200 App. A, note (b) to Table A.1.1
"Include ingredients with a known acute toxicity, which fall into any of the acute hazard categories, or have an oral or dermal LD50 greater than 2000 but less than or equal to 5000 mg/kg body weight (or the equivalent dose for inhalation)" 29 CFR 1910.1200 App. A.1.3.6.1(a)
"In this situation the mixture is classified based on the known ingredients only." 29 CFR 1910.1200 App. A.1.3.6.2.3
"For some substances the test atmosphere will be a vapor which consists of a combination of liquid and gaseous phases. For other substances the test atmosphere may consist of a vapor which is nearly all the gaseous phase. In these latter cases, classification is based on ppmV as follows: Category 1 (100 ppmV), Category 2 (500 ppmV), Category 3 (2500 ppmV), Category 4 (20000 ppmV)." 29 CFR 1910.1200 App. A, note (d) to Table A.1.1
"Numerical measures of toxicity (such as acute toxicity estimates)" OSHA, Appendix D to 1910.1200, Table D.1, section 11(d)

Two rules shape what a reader can check. Section 3 of Table D.1 asks for the ingredients "classified as health hazards", so an ingredient with an LD50 of 3,000 mg/kg counts in the formula but need not appear on the sheet. And when a concentration is a trade secret, paragraph (i)(1)(iv) requires one of thirteen prescribed ranges, from "0.1% to 1%" up to "80% to 100%". A coating that lists xylenes at 10% to 30% is telling the truth, and leaving a factor of three open.

Two readings of every sheet

A sheet rarely fixes every input, so we ran the formula twice, route by route, over every concentration its ranges allow. The two readings bracket what the sheet lets anyone conclude.

Protective reading

Lowest printed value. A value written "> X" is used as X, unless it is a limit test at the Category 4 line or sits at 5,000 mg/kg or above (A.1.3.6.1(a) and (c)). Inhalation values above the Category 4 limit still count. A value printed without a unit is not a number, so the ingredient's section 3 category takes its place. Every listed ingredient counts, even below 1%. An ingredient with no number and no category is of unknown toxicity, and the unknown share the sheet prints is a floor. Every ingredient the sheet does not list is put at the Category 4 limit, the most toxic an unlisted ingredient can be.

Lenient reading

Highest printed value. Bounds and inhalation values above the limit are left out. An ingredient below 1% is left out unless it is in Category 1 or 2, the default reading of A.1.3.3(a). An ingredient with no number is taken as not acutely toxic, and unlisted ingredients stay out. The printed unknown share is not applied, because the sentence names no route.

In both, the value printed in section 11 comes first and the category from the ingredient's own hazard statements in section 3 comes second, as note (b) orders. A 1-hour inhalation value is converted by note (c). The free calculator runs the same engine, and a test checks that it finds every figure on this page.

Vapors: mg/l or ppmV

A vapor LC50 has two possible scales. Table A.1.1 sets the vapor lines in mg/l, Category 4 ending at 20. Note (d) moves a vapor that is nearly all gas to the ppmV scale, Category 4 ending at 20,000. Which one applies depends on the test atmosphere behind the LC50, and no sheet in the study says. So every vapor class the mg/l scale misses was run again in ppmV: each value converted with the ingredient's molar mass from PubChem, at 25 °C and 1 atm (ppmV = mg/l × 24,450 / molar mass). Petroleum distillates have no single molar mass, so they were run from 50 to 1,000 g/mol, the heavier end in the protective reading. A declared class counts as reached when either scale gives it. A class the sheet does not declare is flagged only when it holds on every scale that applies.

The declared classes, rebuilt

Each row is one class a sheet declares in section 2, or one its numbers give at both ends without the sheet declaring it. Products are coded by manufacturer letter. The range is the ATEmix from the most toxic end of the protective reading to the least toxic end of the lenient one, in mg/l for vapors, with the ppmV range added where note (d) reaches a class the mg/l scale misses.

The 40 acute toxicity classes declared on 30 sheets, against the sheets' own numbers.
Categorydeclared classes
Rebuilt exactly9
Inside the range the sheet leaves open27
Reached only in ppmV, note (d)2
Not reached with the sheet's numbers2
The 40 acute toxicity classes declared on 30 sheets, against the sheets' own numbers.
Declared acute toxicity class of each product against the range its own numbers allow
ProductTypeRevisedRouteDeclaredFrom the sheet's numbersVerdict
C-03Paint thinner2024Inhalation, vaporCategory 4Category 4 to not classified16.89 to 174 mg/lInside the range the sheet leaves open
C-06Urethane accelerator2020OralCategory 4Category 4504.7 to 646.4 mg/kgRebuilt exactly
C-06Urethane accelerator2020DermalCategory 3Category 3787 mg/kgRebuilt exactly
C-06Urethane accelerator2020Inhalation, vaporCategory 3Category 33.03 mg/lRebuilt exactly
C-07Urethane wood coating2022Inhalation, vaporCategory 4Not classified20.29 mg/l or higherIn ppmV: Category 4, 3,846 to 17,880 ppmVReached only in ppmV, note (d)
C-08Cold galvanizing compound2026OralCategory 4Category 4671.7 to 787.5 mg/kgRebuilt exactly
C-24Coating activator2026OralCategory 4Category 4 to not classified962.8 to 2,857 mg/kgInside the range the sheet leaves open
C-24Coating activator2026DermalCategory 4Category 4 to not classified1,269 to 5,538 mg/kgInside the range the sheet leaves open
C-25Isocyanate primer2018Inhalation, vaporCategory 4Category 411 to 20 mg/lRebuilt exactly
C-26Coating activator (part B)2020Inhalation, vaporCategory 4Category 4 to not classified11 to 24.44 mg/lInside the range the sheet leaves open
C-27High-temperature paint2026Inhalation, vaporCategory 4Not classified20.58 mg/l or higherIn ppmV: Category 4 to not classified, 6,527 to 27,760 ppmVReached only in ppmV, note (d)
C-29Aluminum roof coating2024Inhalation, vaporCategory 4Category 2 to not classified1.711 to 1,100 mg/lInside the range the sheet leaves open
C-32Fibered aluminum roof coating2022Inhalation, vaporCategory 4Category 3 to not classified5.716 mg/l or higherInside the range the sheet leaves open
C-37Clear undercoat2018Inhalation, vaporCategory 4Category 4 to not classified17.61 to 30.69 mg/lInside the range the sheet leaves open
C-39Urethane floor finish2017Inhalation, vaporCategory 4Category 4 to not classified11.91 to 110 mg/lInside the range the sheet leaves open
C-47Roof sealant2022Inhalation, vaporCategory 4Category 4 to not classified16.76 mg/l or higherInside the range the sheet leaves open
C-48High-heat engine primer2025Inhalation, vaporCategory 4Category 3 to not classified7.49 to 252.6 mg/lInside the range the sheet leaves open
C-63Urethane paint accelerator2018OralCategory 4Category 41,142 to 1,936 mg/kgRebuilt exactly
C-63Urethane paint accelerator2018Inhalation, vaporCategory 4Category 410.89 to 18.97 mg/lRebuilt exactly
C-64Leveling additive2023Inhalation, vaporCategory 4Category 4 to not classified14.39 to 41.38 mg/lInside the range the sheet leaves open
C-65Urethane topcoat2023Inhalation, vaporCategory 4Category 4 to not classified12.19 to 88 mg/lInside the range the sheet leaves open
C-66Coal tar epoxy topcoat2025Inhalation, vaporCategory 4Category 4 to not classified18.08 to 1,740 mg/lInside the range the sheet leaves open
C-67Epoxy primer2024Inhalation, vaporCategory 4Category 3 to not classified6.488 to 102.4 mg/lInside the range the sheet leaves open
D-08Laundry bleach packs2020OralCategory 4Category 4 to not classified1,429 to 2,338 mg/kgInside the range the sheet leaves open
D-08Laundry bleach packs2020Inhalation, dust or mistNot classifiedCategory 41.577 to 4.6 mg/lThe sheet's numbers give a class it does not declare
D-02Laundry stain remover packs2015OralCategory 4Category 4 to not classified1,778 to 2,331 mg/kgInside the range the sheet leaves open
D-02Laundry stain remover packs2015Inhalation, dust or mistCategory 4Category 41.23 to 4.6 mg/lRebuilt exactly
D-03Toilet bowl cleaner tablet2019OralCategory 4Not classified2,163 to 26,600 mg/kgNot reached with the sheet's numbers
D-05Toilet bowl cleaner tablet2020OralCategory 4Not classified2,354 to 13,300 mg/kgNot reached with the sheet's numbers
D-11Toilet bowl cleaner tablet2021OralCategory 4Category 4660.8 to 1,658 mg/kgRebuilt exactly
D-04Toilet bowl cleaner tablet2025OralCategory 4Category 4 to not classified1,131 to 4,102 mg/kgInside the range the sheet leaves open
D-04Toilet bowl cleaner tablet2025Inhalation, dust or mistNot classifiedCategory 3 to Category 40.652 to 2.806 mg/lThe sheet's numbers give a class it does not declare
D-01Laundry stain remover packs2018OralCategory 4Category 4 to not classified1,643 to 8,253 mg/kgInside the range the sheet leaves open
D-01Laundry stain remover packs2018Inhalation, dust or mistCategory 4Category 4 to not classified1.908 to 23 mg/lInside the range the sheet leaves open
D-06Bathroom foam cleaner2021OralCategory 4Category 4 to not classified1,130 to 2,527 mg/kgInside the range the sheet leaves open
D-06Bathroom foam cleaner2021Inhalation, dust or mistCategory 4Category 3 to not classified0.795 to 6 mg/lInside the range the sheet leaves open
D-10Multi-purpose cleaner2021OralCategory 4Category 4 to not classified1,130 to 2,527 mg/kgInside the range the sheet leaves open
D-10Multi-purpose cleaner2021Inhalation, dust or mistCategory 4Category 3 to not classified0.795 to 6 mg/lInside the range the sheet leaves open
D-07Bathroom foam cleaner2022OralCategory 4Category 4 to not classified1,304 to 4,813 mg/kgInside the range the sheet leaves open
D-07Bathroom foam cleaner2022Inhalation, dust or mistCategory 4Category 4 to not classified1.121 to 6 mg/lInside the range the sheet leaves open
D-09Multi-purpose cleaner2022OralCategory 4Category 4 to not classified1,304 to 4,813 mg/kgInside the range the sheet leaves open
D-09Multi-purpose cleaner2022Inhalation, dust or mistCategory 4Category 4 to not classified1.121 to 6 mg/lInside the range the sheet leaves open

"Inside the range" is not a pass. It means the sheet allows the declared class and also a milder one, and nothing printed tells the two apart. Concentration ranges do most of the widening, whether they are the prescribed trade secret ranges of (i)(1)(iv) or ranges an older sheet chose itself, such as 25 to 50%. Ingredients without a number do the rest.

Same LC50, two scales

Section 3 of one manufacturer's sheets prints each ingredient's own hazard statements. Section 11 prints its LD50 and LC50 values. On 19 of its 67 sheets, 26 lines in all, an ingredient is Harmful if inhaled in section 3 while its section 11 LC50 sits above 20 mg/l, past the Category 4 line for vapors. Whether the two disagree depends on the scale.

Ingredients listed as harmful if inhaled in section 3, with their section 11 LC50 in mg/l and the same value in ppmV under note (d)
IngredientCASSection 3Section 11 LC50Same LC50 in ppmVSheets
Xylenes (o-, m-, p- Isomers)1330-20-7H332, Harmful if inhaled (Category 4)29.08 mg/l, above the 20 mg/l line6,697 ppmV, inside the 20,000 ppmV linemolar mass 106.16 g/mol18
1-Chloro-4-(Trifluoromethyl)Benzene98-56-6H332, Harmful if inhaled (Category 4)33 mg/l, above the 20 mg/l line4,469 ppmV, inside the 20,000 ppmV linemolar mass 180.55 g/mol5
Acetone67-64-1H332, Harmful if inhaled (Category 4)50.1 mg/l, above the 20 mg/l line21,091 ppmV, above the 20,000 ppmV linemolar mass 58.08 g/mol3

In mg/l, all three LC50s sit above the vapor line, and section 3 looks wrong. In ppmV, the scale note (d) to Table A.1.1 uses when the test atmosphere was nearly all gas, xylenes and 1-chloro-4-(trifluoromethyl)benzene fall inside Category 4, and section 3 is right. That covers 23 of the 26 lines. Acetone stays above the line on both scales, on 3 sheets. Section 3 most likely carries a classification taken from an official list or a supplier sheet, and section 11 a value from a database. Neither tells the reader which scale stands behind the class, and the formula needs one number per ingredient on one scale. For a vapor class, that is the first question to put to the supplier.

Classes the numbers do not reach

Of the 40 declared classes, four do not come out on the mg/l scale, unlisted ingredients at the Category 4 limit included. Two of them are vapor classes that come out in ppmV under note (d). The other two stay out of reach under every reading.

Reached in ppmV

C-07 · Urethane wood coating · inhalation

Declared Category 4. In mg/l, the sheet's numbers give 20.29 mg/l at the most toxic end. In ppmV, they give 3,846 to 17,880 ppmV: Category 4.

The main solvent, 1-chloro-4-(trifluoromethyl)benzene at 25 to 50%, is listed as H332 in section 3. Section 11 prints its LC50 at 33 mg/l, above the 20 mg/l line for vapors, which is 4,469 ppmV, inside the 20,000 ppmV line for a vapor that is nearly all gas. Read in ppmV, that solvent alone keeps the coating in Category 4 at the low end of its range.

C-27 · High-temperature paint · inhalation

Declared Category 4. In mg/l, the sheet's numbers give 20.58 mg/l at the most toxic end. In ppmV, they give 6,527 to 27,760 ppmV: Category 4 to not classified.

Same solvent, at 15 to 40%. In ppmV, the most toxic end is Category 4. At the least toxic end, with the solvent at 15%, the mixture comes out above 20,000 ppmV, not classified.

Out of reach on every scale

D-03 · Toilet bowl cleaner tablet · oral

Declared Category 4. The sheet's numbers give 2,163 mg/kg at the most toxic end.

Only boric acid has a number in section 11. The three chlorinated hydantoins (67 to 105% of the listed ranges) have none. The sheet prints an oral ATEmix of 760 mg/kg that its own numbers cannot reach.

D-05 · Toilet bowl cleaner tablet · oral

Declared Category 4. The sheet's numbers give 2,354 mg/kg at the most toxic end.

Only boric acid has a number in section 11. The hydantoins that drive the oral class have none. A 2021 sheet from the same manufacturer for a similar tablet prints them (618 and 600 mg/kg) and the class comes out exactly.

None of this proves a wrong class. A manufacturer may have tested the mixture, used values it did not print, set a vapor class in ppmV, or preferred an official classification over a database LC50. Table D.1, section 11(g), asks the preparer to say when it uses alternative information and how. On these sheets, a reader cannot see which.

Printed mixture estimates

Only four of the 78 sheets print the ATEmix they calculated. That is the most useful line a reader can get, and the easiest to test: it must fall between the two ends the listed ingredients allow.

Mixture ATEs printed on the sheets against the range their own ingredients allow
ProductRoutePrinted ATEmixRange the sheet allowsResult
D-02Oral1,970 mg/kg1,778 to 2,331 mg/kgFits
D-02Dermal42,000 mg/kg2,000 mg/kg or higherFits
D-02Inhalation2 mg/l1.23 to 4.6 mg/lFits
D-03Oral760 mg/kg2,163 to 26,600 mg/kgMore toxic than the ingredients allow
D-03Inhalation5.01 mg/l0.16 mg/l or higherFits
D-04Oral852.543 mg/kg1,131 to 4,102 mg/kgMore toxic than the ingredients allow
D-01Oral1,549 mg/kg1,643 to 8,253 mg/kgMore toxic than the ingredients allow
D-01Dermal14,358 mg/kg2,000 mg/kg or higherFits
D-01Inhalation2.37 mg/l1.908 to 23 mg/lFits

For three printed figures, no mix of the listed ingredients, at any concentration their ranges allow, reaches the number. Unlisted ingredients cannot close the gap without being hazardous themselves, and then section 3 would have to list them. Sheet D-03 also prints a gas estimate of 7,000 ppmV for a solid tablet. That figure sits inside the Category 4 band for gases, on a product the sheet does not classify by inhalation.

Classes the sheets do not declare

The check also runs the other way. On two sheets, the lenient reading, the one most favorable to the product, still puts the dust or mist estimate in Category 4 or worse, and the sheet lists no inhalation class. Note (d) does not apply here: a dust or mist has no ppmV scale.

D-08 · Laundry bleach packs

Dust or mist estimate: 1.577 to 4.6 mg/l, Category 4.

Sodium carbonate (50 to 70%) carries a printed LC50 of 2,300 mg/m3. That alone puts the dust estimate at 4.6 mg/l or lower, inside Category 4. The sheet lists no inhalation class. A stain remover pack sheet from the same maker uses the same value and declares Harmful if inhaled.

D-04 · Toilet bowl cleaner tablet

Dust or mist estimate: 0.652 to 2.806 mg/l, Category 3 to Category 4.

Prints an oral ATE of 852.543 mg/kg. The listed ingredients, all at their highest concentration, give 1,421 mg/kg, and 1,131 with unlisted ingredients pushed to the Category 4 limit. The component dust and mist values it prints put the tablet in inhalation Category 3 or 4. The sheet lists no inhalation class and tells the reader to avoid breathing dust. One line prints 310 mg/l/4h where the same ingredient's ATE reads 0.31 mg/l/4h.

"When there is relevant evidence of acute toxicity by multiple routes of exposure, classification is to be conducted for all appropriate routes of exposure." 29 CFR 1910.1200 App. A.1.3.2

Whether breathing the dust of a pack or a tablet is an appropriate route is the manufacturer's call. These sheets do not say why it was left out, and one of them tells the reader to avoid breathing the dust.

The unknown share

When an ingredient of unknown acute toxicity makes up 1% or more of an untested mixture, the label and the sheet must say how much of the mixture it is. One manufacturer prints the sentence on 56 of its 67 sheets. Above 10%, the corrected formula lets the known part carry the whole mixture, and 32 of those sheets are above 10%.

Unknown acute toxicity share printed on 56 sheets. Median 16%.
Categorysheets
1 to 5%17
6 to 10%7
11 to 30%16
31 to 60%13
61 to 94%3
Unknown acute toxicity share printed on 56 sheets. Median 16%.
"a statement that X% of the mixture consists of ingredient(s) of unknown acute toxicity (oral/dermal/inhalation) is required on the label and safety data sheet." 29 CFR 1910.1200 App. C.3.3

The sentence is a disclosure, not a defect. It does show how thin the data behind a class can be. On C-29 (aluminum roof coating), the share is 94%, and its Harmful if inhaled rests on what is known about the other 6%. A crew brushing that coating onto a hot roof deserves to know it.

What to do with your SDS

The class on the sheet is what your labels and training rely on. The numbers on the sheet are how you find out whether to ask questions.

Run the formula on the sheet in front of you

Section 3 gives the concentrations, section 11 the LD50 and LC50 values, section 2 the class and any unknown share. Type them into the calculator. When both ends of the result land in the class the sheet declares, you are done. When they do not, you have a precise question for the supplier.

In HazComFast

Drop in the supplier's PDF, scanned or not, in English or Spanish. HazComFast reads every page, fills in the hazards, the H and P statements, first aid and PPE, and shows where each value came from. Anything the AI isn't sure about waits for a person to confirm it.

Free ATEmix calculator

Ask the supplier which data it used

A class the printed numbers cannot reach is not proof of an error. The manufacturer may hold a test on the mixture, or values for ingredients it does not have to list. For a vapor class, ask too whether it was set in mg/l or in ppmV. Ask in writing, and file the answer with the sheet.

Self-audit your SDS library

Label from the sheet's class

Under 1910.1200(d)(1), an employer may rely on the manufacturer's classification. Your workplace label takes the signal word, the H statements and the pictogram from the current sheet, not from your own recalculation.

GHS label generator

Train on section 11, not only section 2

A Category 4 vapor can sit anywhere above 10 and up to 20 mg/l, and the class does not say which ingredient puts it there. When the crew sprays a coating or opens a pack of powder, show them the ingredient behind Harmful if inhaled, and what the unknown share says about the data behind it.

In HazComFast

In HazComFast, the training center handles assignments, quizzes, certificates and expiration alerts, and SDS read proof shows who read which sheet, when, and in which language.

HazCom training record generator

Method and limits

  • Sheets: English safety data sheets downloaded one by one from two manufacturers' own sites on October 13, 2026, each kept with its address, date and SHA-256 fingerprint. Manufacturer C, coatings and solvents: 67 sheets from product pages whose address names a solvent-type family, every one analyzed. Manufacturer D, cleaning and laundry products: 207 sheets downloaded in the order its site lists them, and the first that a script flagged as declaring acute toxicity kept. One flag was wrong, a cat litter sheet, which leaves 11. The rule for each was fixed before any sheet was read.
  • Reading: sections 2, 3 and 11. Manufacturer C uses one template, read by a script whose every flag was checked on the sheet. Manufacturer D prints its columns in separate blocks, so its sheets were read by hand and every value typed in with the text it came from.
  • Values: printed as they are. A dermal or oral value printed without a unit is read in mg/kg, the only unit those columns use on the same template. A vapor value without a unit is not a usable LC50 in the protective reading, so the ingredient's section 3 category takes its place, or it counts as unknown when there is none. The lenient reading takes it in mg/l, the unit of that column. A cell with two values gives the lower one to the protective reading and the higher one to the lenient reading. Durations other than 1 or 4 hours, which OSHA does not address, are taken as printed and scaled to 4 hours, the lower result going to the protective reading.
  • Inhalation form: vapor for the coatings and solvents, the column their sheets print. Dust or mist for the water-based cleaners and the powders, as the older sheets of that manufacturer say themselves.
  • Other rules: A.1.3.3(c), which classifies a mixture whose ingredients all sit in one category in that category, applies to one route of one product, the urethane accelerator's dermal route, and gives the same Category 3 as the formula. A.1.3.3(a), the 1% line for relevant ingredients, separates the two readings.
  • Two scales for vapors: every vapor class the mg/l scale misses is run again in ppmV under note (d) to Table A.1.1, with each solvent's molar mass from PubChem. A solid such as talc has no gas phase: the lenient reading leaves it out, the most favorable choice, and in the protective reading no solid carried a value for the classes concerned. Petroleum distillates are run from 50 to 1,000 g/mol. Section 3 and section 11 lines are compared on both scales too.
  • Checks: the same engine runs the free calculator. A test in the site's code replays every published calculation through it and must find the same figures as the study's script.

Limits

  • Two manufacturers make two authoring systems. Patterns repeat within a template, so the counts weigh one template many times. Of the 78 sheets, 67 come from manufacturer C.
  • The study tests what a sheet lets a reader check. It does not test whether a class is right, and it does not see data a manufacturer holds without printing.
  • OSHA gives no number for the inhalation equivalent of the 2,000 to 5,000 mg/kg band. The two readings take both answers.
  • Whether a vapor LC50 came from a test atmosphere nearly all in the gaseous phase is a fact about the test, and no sheet prints it. Appendix A also gives no rule for mixing the two scales inside one formula. The ppmV runs read every solvent of a mixture on the gas scale, so they show what note (d) makes possible, not what a given manufacturer did.
  • Manufacturers and products are not named, and the scripts that collected the sheets are not published because they would name them. Products are coded by manufacturer letter.
  • Sheets change. A sheet revised after the download date is not in the count.

Download the data, cite the study

How to cite this study

HazComFast. (2026). Acute toxicity on 78 safety data sheets, recalculated. https://hazcomfast.com/osha-data-research/sds-acute-toxicity-study. Sheets downloaded October 13, 2026.

FAQ

What is an acute toxicity estimate (ATE)?

It is the number OSHA's Appendix A uses to place a chemical in acute toxicity Category 1 to 4, by route. For a single substance it is the LD50 or LC50. For a mixture that was not tested as a whole and cannot be bridged from a similar tested mixture (A.1.3.5), it is calculated from the ingredients with the additivity formula of A.1.3.6.1: 100 / ATEmix = the sum of Ci / ATEi. Category 4 ends at 2,000 mg/kg for the oral and dermal routes, 20 mg/l for vapors, 5 mg/l for dusts and mists and 20,000 ppmV for gases.

Can I check the acute toxicity class on my SDS myself?

Yes, with the concentrations in section 3, the LD50 and LC50 values in section 11, and any unknown share in section 2. Our free ATEmix calculator applies the formula and works out both ends of the concentration ranges. In this study, 9 of the 40 declared classes came out exactly from the printed numbers, and 27 fell inside a range the sheet leaves open.

Why would section 3 and section 11 of the same SDS disagree?

Often the scale explains it. Xylenes are listed as harmful if inhaled on 18 sheets of this study, next to an LC50 of 29.08 mg/l. That is above the 20 mg/l vapor line, but it equals 6,697 ppmV, inside the 20,000 ppmV line that note (d) to Table A.1.1 applies to a vapor that is nearly all gas. Where the scale does not explain it, section 3 usually repeats an official or supplier classification while section 11 prints a database value. Note (b) puts the LC50 first when one is available, so ask the supplier which value and which scale it used.

Does OSHA classify a vapor in mg/l or in ppmV?

Both, depending on the test atmosphere. Table A.1.1 gives the vapor lines in mg/l, Category 4 ending at 20 mg/l. Note (d) says that when the test atmosphere was a vapor nearly all in the gaseous phase, classification is based on ppmV: Category 1 at 100, Category 2 at 500, Category 3 at 2,500 and Category 4 at 20,000 ppmV. To convert at 25 °C and 1 atm, ppmV = mg/l × 24,450 / molar mass. At the Category 4 line, the ppmV scale reaches further for any solvent heavier than about 24 g/mol: 6,697 ppmV of xylenes is Category 4, while the same 29.08 mg/l is not classified on the mg/l scale.

What does "X% of the mixture consists of ingredient(s) of unknown acute toxicity" mean?

It means at least one ingredient at 1% or more has no usable acute toxicity data and the mixture was not tested as a whole. Appendix A.1.3.6.2.3 then classifies the mixture on its known ingredients, and Appendix C.3.3 and Table D.1 require the statement on the label and the SDS. Above 10% unknown, the formula is corrected so the known part carries the whole mixture.

Is a class that cannot be rebuilt from the SDS a violation?

Not by itself, and this study does not claim one. A manufacturer may classify from a test on the mixture, or from ingredient values it does not print. Ingredients with an LD50 between 2,000 and 5,000 mg/kg count in the formula but are not health hazards, so section 3 does not have to list them. What the reader loses is the ability to check.

Can an employer rely on the manufacturer's classification?

Yes. Paragraph (d)(1) of 1910.1200 says employers are not required to classify chemicals unless they choose not to rely on the classification performed by the chemical manufacturer or importer. The study is a reason to ask questions, not to relabel on your own numbers.

Why aren't the manufacturers named?

The study is about what a sheet lets a reader check, not about a brand. Most patterns repeat across one authoring template, and the manufacturers with the most complete section 11 are the ones whose sheets could be checked at all. Naming them would single out the most transparent.

Can I use this data?

Yes. The counts, the per-route results and the ingredient values used are free to download and reuse with a link to this page, under the Creative Commons Attribution 4.0 license (CC BY 4.0). The safety data sheets themselves belong to their manufacturers and are not redistributed.

Sources

Written and maintained by HazComFast. Sheets downloaded October 13, 2026. Regulatory text quoted from the eCFR and from OSHA's Appendix D page. Molar masses from PubChem.

General information, not legal advice. The safety data sheets quoted belong to their manufacturers. Short passages are quoted for comment, and the sheets are not redistributed.

Get the Binder in Order Before the Inspector Arrives. Are You Ready?

OSHA inspections come unannounced, apart from the few exceptions listed in 29 CFR 1903.6. Get the binder in order before the opening conference, not during it.

Serious Violation

$16,550

per violation (max)

HazComFast Pro

$199/mo

10 jobsites, unlimited chemicals, unlimited workers

New sign-ups are paused. The free tools below need no account, and customers can log in as usual.

Your account keeps working as usual. Cancel anytime.