
MSDS are documents describing the known hazards associated with a material , indicating safe handling procedures and recommending responses to accidents and thus are invaluable sources of safety information . They are prepared by the chemical suppliers and by UK law must be sent to you if you buy a chemical ( CHIP2 ) but can be requested even if you are only thinking of buying . If you already have the chemical but the MSDS is lost or the material is so old that none came with it , most manufacturers are happy to Fax a relevant MSDS on request . Many even make compilations of their data sheets available free of charge . If you order a chemical , you are strongly advised to read the MSDS that comes with it and to file it away in a safe place for future reference . A laboratory library of MSDS relevant to the chemicals kept there constitutes a valuable safety resource . ( In the United States the law requires that MSDS be kept available for all materials in an establishment . ) How to read an MSDS First of all , the MSDS from different manufacturers are usually different in layout and the amount of detail they give . However a typical MSDS delivered in the UK will contain ( this is taken from the Fisons model ) the chemical name of the compound and its CAS Number ( Chemical Abstracts Number ) , perhaps some other identifying number , a product code and the name of the supplier . If the material is a mixture , its composition will be given . Regulatory information is often given in terms of Risk Phrases and Safety Phrases . Risk Phrases , e. g . R26 , consists of R followed by a number , in this case indicating that the material is " toxic by inhalation " and the Safety Phrases e. g . S29 " do not empty down the drain " . ( It is not necessary to know what all the Risk or Safety Phrases mean since they are usually quoted alongside their code . ) Hazard information will typically outline the main hazards of the material followed by fire fighting measures , First Aid measures , accidental release measures , handling and storage precautions , how stable is the material , and what protect ion clothing to wear , etc . There may be some description of the physical and chemical properties of the material and also toxicological information , ecological information and advice on disposal . All of this information is supplied and some people deliver it straight into the bin ! How to find an MSDS If you want to have this information e. g . for completing a COSHH assessment but you do n't have the MSDS what can you do ? The simplest thing is to ask the manufacturer for a copy . Some you do n't even have to ask since they publish free compilations of their sheets although this is now happening less . ( The set of BDH Hazard Sheets kept in the Worsley Library is no longer produced ) . The DSA has sets of sheets from Fisons and from Fishers on diskette which are available on request , the University Safety Office has an extensive and more general database and the very large Sigma-Aldrich set exists within the University . Otherwise there are now a large number of FREE sources on the Internet and some are outlined below . Vermont Safety Site has a huge collection MSDS Online - search for a chemical and this site will provide the links to connect to the data . MSDS-SEARCH -aims to be a single source for all Manufacturers ' MSDS but not yet up and running . Universities including : - Akron Cornell another huge list Oxford Utah and Chemical Manufacturers : Eastman Kodak BDH - select MSDS on the search options . Fischer -Use the catalogue search to select a specific compound and click on the MSDS logo at the foot of the information sheet . Rhone-Poulenc asks for your Organisation Name but then lets you in . Roche - find the product and follow through . Pointers : a few sites carry lists of links to MSDS sources some of which are too small to include here : University of Kentucky holds the definitive list . Chemfinder is useful . Worksafe Western Australia " MSDS- like " information is held at : Chemical Safety Data Sheets from the RSC accessible via BIDS . Chemical Substance Fact Sheets from the EPA or from Open Data Solutions . Environmental Chemical Data and Information Network , ECDIN . International Chemical Safety Cards Laboratory Chemicals Safety Data from the Howard Hughes Medical Institute Sigma for their products . Information on Chemicals with hazardous properties at : Carcinogens : A list of Known Carcinogens and Compounds Reasonably expected to be Carcinogens can be found in the NTP Annual/Biennial report on Carcinogens . A list of compounds described by the UK risk phrase R45 , " May cause Cancer " in the Bristol University Disposal of Chemical Waste Code of Practice - University of Bristol only . Cornell University list of ' Select Carcinogens ' which also includes chemicals known to be reproductive toxins . A list of compounds which are assigned a UK Maximum Exposure Limit ( MEL ) at the University of Oxford . ToxFAQ , Hazardous Substance Fact Sheets , from the Agency for Toxic Substances and Disease Registry . Stanford Hazardous Materials Index . Cornell University list of ' Acutely Toxic Chemicals ' . Related Information : Biological MSDS from Health Canada covers a variety of micro-organisms . Pesticide Information Profiles at Oregon State . Information on Pharmaceuticals and Drugs on PHARMINFONET . Realise that you must search around for what you want and also that , since many of these sites are in the United States , the MSDS are written with US laws and regulations in mind . You may find some unexpected information . Good Hunting ! Back to Safety Home Page or the School of Chemistry Home Page . Dr . K. MacNeil , DSA . This page was last modified . 