You are here: Home Research / Programming FinalCif


Finalize CIF files without hassle.

Finalcif is mainly intended for Bruker users, but works for other CIF files too. It collects all the information from a work folder needed in oder to finalize a CIF file for publication. In ideal cases, it takes one click to have a publication-ready file. But check the file thoroughly afterwards, no software is perfect!

Essentially, you must have the corresponding CIF file for FinalCif in its original 'work' folder, which contains all other files such as SAINT list files, SADABS list file, SHELX list files, etc. that led to this cif file.

The main table of FinalCif has three columns. The most left contains the information from the .cif file. Data from other sources like the .p4p file is displayed in the middle column and user information can be put into the right-most column. The data typed by the user always rules out the other information. The two different templates on the left can be used to fill in author information or machine models (top) as well as to create dropdown menus for specific CIF keywords (bottom). Any keyword not already in the CIF file will be added by the template. In the dropdown menus you can be creative to specify the crystallization conditions with a template...

The CIF keywords with a question mark are at the beginning of the table and the already filled in keywords behind them.

Various possibilities of Checkcif are available, online with html or pdf result and offline.

The button "save cif file" saves the current file under 'name'-finalcif.cif. FinalCif will never make Changes to the original CIF file.

The FinalCif executable accepts a file name as first argument in order to open .cif files from other programs like ShelXle.


The templates may change from time to time. To see the current version you have to delete the predefined template (edit template-->delete).

My workflow is:

  • Open a cif file in a work folder.
  • Check and edit the remaining items.
  • Do a html checkcif (it also saves an image for the report). Probaly correct last items like the moiety formula and  explain alerts with the validation response form editor in the same window.
  • Do a pdf checkcif
  • Do a report.



FinalCif needs no installation. Just download the executable anywhere on you computer. 


The main program window:





A report document example:




Download:   FinalCif   <-- Windows, MacOS X and Linux 64bit 




Source code:

In case you want to play with the source code, you get the code from Github and do "pip install -r requirements.txt".

The code is only useful for developers, not for users.

(FinalCif uses the great gemmi cif parser. It needs MSVC++ 14 in order to compile in Windows)


Recent changes

-v50 Added list of data sources for automatically generated data ("Data Sources" button). Offline Checkcif adds moiety formula now. Many small bugfixes.

-v49 Deleting a row really deletes this key/value now. Some small bug fixes.

-v48 Improved import/export of templates. Improved special CIF character translation.

-v47 Added a details page with 3D representation of the Structure ('Show Details' button). Fixed template 

-v46 Fixed problems with non-ascii characters in SHELX res file included in the CIF (thanks to Frank Rominger).

-v45 Fixed crash with write protected files.

-v44 Fixed crash during report generation with strange connectivities.

-v43 Added Key shortcuts for save (CTRL+S), html checkcif (CTRL+H), pdf checkcif (CTRL+P), delete row (Ctrl+DEL)

       During report text generation, a zip file containing cif file, report text and checkcif document will be written now.

        FinalCif now warns about inconsistent temperatures. Added buttons for CCDC and COD deposition (I would like to have an API for that!).

-v42 Improved report. Fixed minor bugs.

-v41 Fixed minor bugs and better handling of saint list file names.

-v40 Fixed potential crashes with windows line endings and also with long checkcif runs.

-v39 New Icon theme. Fixed crash after failed checkcif. Fixed wrong number from saint list file.

-v38 Fixed crash with missing SAINT list file. Fixed wrong file extension definition in file open dialog (esp. Linux).

-v37 Fixed wrong alert type for validatio responses. Improved cif order and saint file parser.

-v36 Early support for stoe .cfx file. small fixes. The Windows version has an installer now. The installed version has 

       much quicker startup.

-v35 The written cif file is in specific order now. Please tell me if you disagree with the order.

-v34 Improved report text.

-v33 Minor report improvements.

-v32 Added a validation response form editor in order to reply to CheckCif alerts: Do a "html checkcif" and 
        click on "Edit Response Forms" to use it. Only A and B alert responses are supported. Fixed many smaller bugs.

-v31 Added vertical splitter between table and templates. Lots of internal refractoring. Improved coloring of
         the main table. FC calculates the space group information from symmetry operators if present. FC now
         shows all key/value pairs, exept for .res and .hkl file. New splash screen for checkcif.

-v30 Fixed problems in template export. Improved handling of text fields.

-v29 Fixed some crashes.

-v28 Improved template behavior. Faster checkcif without structure factors. 




As always, please report bugs!