Open Babel
Convert from any graph formatto Open Babel Convert from Open Babelto any other format
Open Babel is an open-source cheminformatics toolkit and library "designed to speak the many languages of chemical data." It reads, writes, and interconverts more than 90 chemical file formats, including line notations such as SMILES, SMARTS, InChI, and InChIKey, connection-table formats like Molfile, SDF, and MOL2, the XML-based CML, structural formats such as PDB and XYZ, and the output of many computational-chemistry packages (Gaussian, GAMESS, MOPAC) plus crystallographic formats. It began as the C program "Babel" and the OELib library, which were merged and relicensed under the GPL to create a fully open successor; the project is community-maintained on GitHub and was described in a 2011 Journal of Cheminformatics paper by Noel O'Boyle, Michael Banck, Geoffrey Hutchison, and colleagues.
Internally, Open Babel represents a structure as an OBMol object built from OBAtom and OBBond (and OBResidue) objects, i.e. a molecular graph in which atoms are vertices carrying element, charge, and coordinate data and bonds are typed, order-bearing edges. This graph model is central to its role as a converter: many chemical formats omit information that others require, so Open Babel perceives bonds, aromaticity, hydrogens (often implicit), and stereochemistry to bridge them. It is deliberately more permissive than some rivals, treating input as a molecular graph rather than strictly validating chemical correctness.
Beyond conversion, the toolkit performs SMARTS substructure searching and filtering, 2D depiction and 3D coordinate generation, geometry optimization with built-in force fields (MMFF94, UFF, GAFF), conformer generation, and several molecular fingerprints for similarity searching. It ships command-line tools (obabel, obconformer) and is embedded via C++ APIs and SWIG-generated bindings for Python, Perl, Java, Ruby, and others; the "Pybel" module offers a more Pythonic wrapper. It is frequently paired with RDKit, Biopython, and structure-preparation pipelines.
Its strengths are breadth of format coverage and a permissive, scriptable conversion engine that makes it a de facto lingua franca for chemical data. Limitations follow from that permissiveness: bond and aromaticity perception can be heuristic, stereochemistry and metal/organometallic handling are imperfect, and generated 3D geometries are force-field approximations rather than accurate structures. It is chemistry-specific and does not target general graph-data formats like GraphML or GML.
Graph Formats(Input & Output)
Input Formats
Output Formats
Frequently Asked Questions
What graph file formats does Open Babel support?
See the list on this page — it shows every format Open Babel can read, write and display.
How do I import a graph into Open Babel?
Convert your file to a format Open Babel can read, then open it in Open Babel. Use GraphInOut to get a Open Babel-compatible file in seconds.
How do I convert a file so Open Babel can open it?
Use the convert links above — upload or paste your graph, pick a format Open Babel accepts and download the result, right in your browser.

