MatterViz

matterviz is a toolkit for building interactive web UIs for materials science: periodic tables, 3d crystal structures (and molecules), Bohr atoms, nuclei, heatmaps, scatter plots. Check out some of the examples in the navigation bar above.

Structure Viewer

Li4Fe3Mn1(PO4)4.cif

No structure provided

mp-756175.json

No structure provided

Try dragging files onto the structure viewers

Pick one of the example files below, or drag a local structure file onto a viewer: .xyz/EXTXYZ, POSCAR, .cif, .yaml, OPTIMADE JSON, or pymatgen JSON. Compressed variants (e.g. .gz, .bz2) are supported as well.

❓ Unknown🔷 Crystal🧬 Molecule CIF JSON POSCAR XYZ YAML
AgI-fq978185p-phono3py_params.yaml.gz ❓ 📦
BaTiO3-tetragonal.poscar 🔷
BeO-zw12zc18p-phono3py_params.yaml.gz ❓ 📦
Bi2Zr2O8-Fm3m.json 🔷
Li10GeP2S12.cif 🔷
Li4Fe3Mn1(PO4)4.cif 🔷
Li8Fe2NiCoO8.cif 🔷
LiFePO4.cif 🔷
MgNiF6.cif 🔷
NaCl-cubic.poscar 🔷
P24Ru4H252C296S24N16.cif 🔷
PF_sd_1601634.cif 🔷
TiO2.cif 🔷
TlBiSe2-highly-oblique-cell.json 🔷
aviary-CuF3K-triolith.poscar 🔷
cyclohexane.xyz 🧬
extended-xyz-quartz.xyz 🔷
extra-data.xyz 🧬
mp-1.json 🔷
mp-10018-Ac1-cubic.json 🔷
mp-1183057-Ac3-trigonal.json.gz ❓ 📦
mp-1183085-Ac4Mg2-orthorhombic.json 🔷
mp-1183089-Ac4Mg2-monoclinic.json 🔷
mp-1204603.json 🔷
mp-1207297-Ac2Br2O1-tetragonal.json 🔷
mp-1229155.json 🔷
mp-1229168.json 🔷
mp-1234.json 🔷
mp-12712.json 🔷
mp-19017.json.gz ❓ 📦
mp-2.json 🔷
mp-686119-Ag13Bi14I56-triclinic.json 🔷
mp-7000-optimade.json 🔷
mp-756175.json 🔷
mp-862690-Ac4-hexagonal.json 🔷
nested-Hf36Mo36Nb36Ta36W36-hcp-mace-omat.json.gz ❓ 📦
quartz-alpha.cif 🔷
scientific-notation.poscar 🔷
scientific-notation.xyz 🧬
selective-dynamics.poscar 🔷
vasp4-format.poscar 🔷
benzene.json 🧬
ethanol.json 🧬
methane.json 🧬
methyl.json 🧬
water.json 🧬

The 3d structure viewer is built on the declarative three.js wrapper threlte. It gets Svelte-compiled for great performance (even on supercells with 100+ atoms), is split up into Bond, Lattice, Scene and Site components for easy extensibility. You can pass various click, drag and touch event handlers for rich interactivity as well as inject custom HTML into tooltips using child components. These show Materials Project structure for mp-756175 and a lithium iron manganese phosphate structure from a CIF file.

Trajectory Viewer

Load Trajectory

Drop a trajectory file here (.xyz, .extxyz, .json, .json.gz, XDATCAR, .traj, .h5) or provide trajectory data via props

Supported formats:
  • Multi-frame XYZ trajectory files (.xyz, .extxyz)
  • ASE trajectory files (.traj)
  • Pymatgen trajectory JSON
  • Array of structures with metadata
  • VASP XDATCAR files
  • HDF5 trajectory files (.h5, .hdf5)
  • Compressed files (.gz)

💡 Force vectors will be automatically displayed when present in trajectory data

Drag any of these trajectory files onto a viewer above to load them:

HDF5 JSON TRAJ UNKNOWN XDATCAR XYZ
Cr0.25Fe0.25Co0.25Ni0.25-mace-omat-qha.xyz.gz 📦
V8_Ta12_W71_Re8-mace-omat.xyz
ase-LiMnO2-chgnet-relax.traj
ase-images-Ag-0-to-97.xyz.gz 📦
gold_nanoparticle_md.h5
mp-1184225.extxyz
pymatgen-LiMnO2-chgnet-relax.json.gz 📦
torch-sim-gold-cluster-55-atoms.h5
torch-sim-water-cluster-bad-file.h5
unsupported-binary-bad-file.bin
vasp-XDATCAR-traj.gz 📦
vasp-XDATCAR.MD.gz 📦

Periodic Table

Element Category Colors

Element Tiles

Font Sizes

Tooltip

Multi-value Heatmap

The periodic table supports multiple values per element with different visual layouts:

2-fold Split (Diagonal)

Each element shows two values as diagonal triangles: top-left = atomic mass, bottom-right = density.

H 1.010.0000899
He 40.000179
Li 6.940.534
Be 9.011.85
B 10.82.08
C 121.82
N 140.00125
O 160.00143
F 190.0017
Ne 20.20.0009
Na 230.968
Mg 24.31.74
Al 272.7
Si 28.12.33
P 311.82
S 32.12.07
Cl 35.50.0032
Ar 39.90.00178
K 39.10.862
Ca 40.11.55
Sc 452.98
Ti 47.94.51
V 50.96
Cr 527.19
Mn 54.97.21
Fe 55.87.87
Co 58.98.9
Ni 58.78.91
Cu 63.58.96
Zn 65.47.14
Ga 69.75.91
Ge 72.65.32
As 74.95.73
Se 794.81
Br 79.93.1
Kr 83.80.00375
Rb 85.51.53
Sr 87.62.64
Y 88.94.47
Zr 91.26.52
Nb 92.98.57
Mo 9610.3
Tc 9811
Ru 10112.4
Rh 10312.4
Pd 10612
Ag 10810.5
Cd 1128.65
In 1157.31
Sn 1197.37
Sb 1226.7
Te 1286.24
I 1274.93
Xe 1310.00589
Cs 1331.93
Ba 1373.51
La 1396.16
Ce 1406.77
Pr 1416.77
Nd 1447.01
Pm 1457.26
Sm 1507.52
Eu 1525.26
Gd 1577.9
Tb 1598.23
Dy 1638.54
Ho 1658.79
Er 1679.07
Tm 1699.32
Yb 1736.9
Lu 1759.84
Hf 17813.3
Ta 18116.7
W 18419.3
Re 18621
Os 19022.6
Ir 19222.6
Pt 19521.4
Au 19719.3
Hg 20113.5
Tl 20411.8
Pb 20711.3
Bi 2099.78
Po 2099.2
At 2106.35
Rn 2220.00973
Fr 2231.87
Ra 2265.5
Ac 22710
Th 23211.7
Pa 23115.4
U 23819.1
Np 23720.4
Pu 24419.8
Am 24312
Cm 24713.5
Bk 24714.8
Cf 25115.1
Es 2528.84
Fm 2579.7
Md 25810.3
No 2599.9
Lr 26614.4
Rf 26723.2
Db 26829.3
Sg 26935
Bh 27037.1
Hs 26940.7
Mt 27837.4
Ds 28134.8
Rg 28228.7
Cn 28523.7
Nh 28616
Fl 28914
Mc 28913.5
Lv 29312.9
Ts 2947.17
Og 2944.95
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides

Composition

Pie Chart

Li: 1 atom (14.3%)Fe: 1 atom (14.3%)P: 1 atom (14.3%)O: 4 atoms (57.1%)
Li 1
Fe 1
P 1
O 4

Bubble Chart

Li: 1atomFe: 1atomP: 1atomO: 4atoms
Li 1
Fe 1
P 1
O 4

Donut Chart

Li: 1 atom (14.3%)Fe: 1 atom (14.3%)P: 1 atom (14.3%)O: 4 atoms (57.1%)
Li 1
Fe 1
P 1
O 4

Percentages

Li: 1 atom (14.3%)Fe: 1 atom (14.3%)P: 1 atom (14.3%)O: 4 atoms (57.1%)
Li 1
Fe 1
P 1
O 4