Spglib is a library for finding and handling crystal symmetries written in C. There are the python, fortran, rust, and ruby interfaces.

The detailed algorithm of spglib is described the following text:

  • \(\texttt{Spglib}\): a software library for crystal symmetry search”, Atsushi Togo and Isao Tanaka, https://arxiv.org/abs/1808.01590 (written at version 1.10.4)


  • C standard: As of version 2.1.0, Spglib explicitly enforces a minimum standard of C11


  • Find symmetry operations

  • Identify space-group type

  • Wyckoff position assignment

  • Refine crystal structure

  • Find a primitive cell

  • Search irreducible k-points

For more information#


Spglib thrives from the contributions of the community, and we would like to thank each and every one of the contributors as well as everyone participating in the issue and discussion forums.

The current main developers of Spglib are:


Spglib development is supported by

  • National Institute for Materials Science

Spglib project acknowledges Paweł T. Jochym for deployment and packaging, Yusuke Seto for the Crystallographic database, Jingheng Fu for layer group implementation, Juan Rodriguez-Carvajal for the Magnetic space-group database, Dimitar Pashov for the Fortran interface, and many other contributors.