Sorry for the FAQ, but I really don't know where to find a full spreadsheet for element properties. I mean a table that has one row for each element, and the columns are its properties, such as name, atomic number, density, melting point, etc. I know that there are many sites or references for that, but I need it in tabular format, because I want to analyze data, make charts, etc.

• Something like this? – Aditya Sriram Dec 19 '12 at 9:39
• Or if someone knows programming, they can web-scrape source code of this website.(Don't know if it is legal) – Aditya Sriram Dec 19 '12 at 11:19
• Yes, @AdityaSriram, That's exactly what I wanted – Mostafa Farzán Dec 19 '12 at 12:57
• just visit "images-of-elements.com/element-properties.php" and "select all" and copy to excel – user1770 Jun 8 '13 at 8:23

Well, here's a CSV file that I parsed out of the JSON data provided by Paul Nathan's website, which in turn was produced from gPeriodic data in response to this question. gPeriodic is FOSS, so I can only assume that the element data contained within is good to share, though I have no idea of its provenance.

The parser uses the python json module to read the data, which I then wrote into comma separated values, which should be readable by any halfway competent spreadsheet program.

save it as elementdata.csv and you're good to go.

Some gotchas:

• This reproduces the gPeriodic data, warts and all. I make no guarantees regarding its correctness, recency, etc. I just munged the data.
• Some of the data is augmented with tildes, notes about temperature/polymorph/state etc. I've left these as they are but you may need to trim them if you want to plot them as numeric values.
• Argon had an atomic radius of '2-', whatever that means. I cut it.
• Excel is joke software and habitually interprets numbers wrapped in parentheses as negatives, because apparently some accountants decided that surrounding numbers in parens is a more sensible option than using a minus sign. Needless to say, this is wrong. I've addressed the problem by wrapping the affected numbers in angle brackets.
• There are no ionic radii in the source data. At all. Not my fault.
• The columns inherit the units of the source data. I've left the units out on purpose because I wanted each column to have no spaces in the name for ease of processing in R or whatever. Furthermore, the units in the source file have some inconvenient characters from an encoding perspective.

Tried plotting Z versus covalent radius in R from this data - looks alright:

Some of the data points are missing, some are not read by R because they are wrapped in <> - pre-process to your heart's content.

• Thanks, man but @AdityaSriram got me the excel file that I had described. Another time, thank you. – Mostafa Farzán Dec 19 '12 at 13:00
• @MostafaFarzán - No offence intended to Aditya, but the data that I link to contains considerable additional information that may be quite interesting to plot. Moreover, as a .csv, it can be opened in excel as well as literally hundreds of other programs on all platforms, making it considerably more portable than an .xls, for which interoperability has always been a low priority for Microsoft. – Richard Terrett Dec 19 '12 at 14:08
• Sorry, I didn't know that excel can open these files. The file was cool, but like that xls file, needs some works before charting. – Mostafa Farzán Dec 19 '12 at 15:24
• "No offence intended to Aditya" -> None taken. – Aditya Sriram Dec 22 '12 at 12:13
• This data hasn't been updated with the 2016 element names. – sean Nov 28 '18 at 9:56

Fine, here's my data taken from the reference mentioned in my above comment. I cannot vouch for it's accuracy.
This is in the .csv file format for its wide use as enlightened by Richard Terrett. You can combine certain ranges from this csv/spreadsheet to the one prepared by Richard, because it contains certain properties not contained in Richard's source.
Also there are certain properties in Richard's file which are absent/improper in mine so this file is best used in conjunction with Richard's file.

• Not bad! I assume this was obtained via scraping the ChemReference site? – Richard Terrett Dec 22 '12 at 13:07
• Yes from the (chem *cough* refer *cough* ence site). First copied the source HTML, used Python-Beautiful Soup to get just the periodic <table> part then wrote a program to gather data/properties from the <h1>,<h2>,<h3> and <h4> tags into dictionaries finally output the dictionary contents into a csv file. – Aditya Sriram Dec 23 '12 at 4:23
• This data hasn't been updated with the 2016 element names. – sean Nov 28 '18 at 9:56

I found a nice json database here (it may have errors, I wouldn't know, but there are links to the original sources).

Best visualised with Chernoff faces IMO,

library(jsonlite)
library(ggplot2)
library(ggChernoff)

# https://github.com/Bowserinator/Periodic-Table-JSON
d <- fromJSON('PeriodicTableJSON.json')[["elements"]]

ggplot(d, aes(xpos,10-ypos)) +
geom_chernoff(aes(fill=category, size = phase, smile = density, brow = molar_heat)) +
geom_text(aes(label=symbol), vjust=2.5) +
guides(fill=guide_legend(ncol=2)) +
theme_void() +
scale_brow_continuous(breaks = c(10, 25, 50))+
theme(legend.position = 'right', panel.background = element_rect(colour="black"))


I've collected a lot data on the elements from several sources and built a small python package around it called mendeleev. The data is contained in a SQLite3 database from which you can easily extract csv files of individual tables.

Most of the data if properly referenced so you can trace back its origin.

Moreover since the interface is written in Python you can easily plot and analyze the data if needed.