Structure builder & converter

Build, edit and convert molecular and periodic structures in 3D — everything runs in your browser, nothing is uploaded. Paste or upload XYZ, PDB, CIF, VASP POSCAR/CONTCAR or TURBOMOLE coord, start from an example, or draw a molecule atom by atom in the 3D view — the TURBOMOLE coord file is always ready on the right.

This is step 1: prepare the structure here, then Use in input generator → builds the matching control file.

Try an example:
TURBOMOLE coord

Something wrong with a structure the builder produced? Please write to contact@turbomole.org and say what you did and what you expected. Save project above writes a .json file holding the structure and every setting in the panels; attaching it is the quickest way for the problem to be reproduced exactly.

Editing a structure — how it works
  • Mouse and keyboard. None of this fires while you are typing in a field.
    The mouse in the 3D view
    drag, or right-dragturn the view
    middle-drag, or Ctrl dragmove the view
    the wheelzoom
    hover an atomshow its label
    click an atomselect it, click again to drop it
    Shift dragdraw a box, select every atom inside it
    Alt dragturn the selected atoms about their own centre (not while Draw is on)
    Ctrl middle-dragmove the selected atoms, keeping them under the cursor
    With Draw on (Atoms tab) the left button builds instead
    click the backgroundplace an atom and start a chain
    click againfix the atom that follows the cursor and carry on
    click nearer than the bond is longthe atom goes out of the screen towards you
    Alt while placingsend it behind the screen instead
    click an atomstart a chain from it
    click a second atombond the two, and stop there
    click the atom you started fromstop the chain
    drag an atommove it
    drag the backgroundnothing — right-drag turns the view
    double-click, or Escstop the chain
    once you have stopped sketching, on what is already there
    click a bondraise its order: single, double, triple, single — both atoms need a free valence, so a saturated one is refused
    Alt click an atomchange it to the chosen element
    Alt click a bondinsert an atom into it
    Alt click the backgroundplace one atom on its own
    Keys
    arrow keyspan the view
    Shift arrow keysmove the selected atoms a quarter of an Ångström
    Deleteremove the selected atoms
    Ctrl/Cmd Zundo, and with Shift redo
    Escclose the element picker, stop a chain, leave Draw, or clear the selection — in that order
    cre-frame the view and reset the centre of rotation
    The three gestures on the selection need something selected. With nothing picked they move the view like any other drag or key.
  • The layout. The bar between the two panels is draggable: pull it either way to give the coord file or the builder more of the window, double-click it to even them up again, and the arrow keys nudge it when it has focus. The split is remembered for your next visit, and the 3D view resizes with it. Neither side can be squeezed below a usable width. The coord boxes can also be dragged taller from their bottom-right corner.
  • The view. Hovering an atom shows its label. The button in the corner cycles ball & stick, sticks and space fill (very large structures are drawn as sticks regardless). Clicking x, y or z on the axes dial looks straight down that axis, and a second click looks from the other side. On periodic structures the images button shows the neighbouring cells faded, drawn the same way the structure is so a crystal looks like it carries on. Only the part of them next to the box is drawn: one shell of neighbours is twenty-six cells in three dimensions, which is twenty-seven times the contents and fills the screen for nothing. Bonds that run out of the box into a neighbouring cell are drawn too, so a silicon at the edge of a quartz cell is visibly four-coordinate rather than looking starved.
  • Sharing and saving. Share link packs the structure into the page address and copies it, so it can be pasted into an email or a chat. The last structure is also kept in this browser, and an empty page offers to restore it. XYZ downloads the structure as a plain .xyz file, and PNG saves the current 3D view as an image, exactly as oriented and styled on screen. Save project writes the whole working state to a file: the structure and every setting in the panels, the space group and asymmetric unit, the surface being cut and how it is to be terminated and capped, the selection, and the view. Opening it again is what Upload file does with it, so a setup can be put aside, sent to somebody else, or kept beside the calculation it produced. It is also what to attach to a bug report: send it to contact@turbomole.org with a description of what you did, and the case can be reproduced exactly as you had it.
  • Selecting. Click an atom in the 3D view to select it, click it again to deselect. Selected atoms are marked and numbered in the order you picked them — that order is what defines a bond, angle or dihedral. While Draw is on the left button builds instead, so turn it off to go back to selecting.
  • Internal coordinates. Select 2 atoms for a bond length, 3 for an angle (the second atom is the vertex) or 4 for a dihedral. The current value appears in a box; type a new one and press Set. Bonds are perceived from covalent radii, and the whole fragment hanging off the far side of the bond moves rigidly — so setting a dihedral rotates a complete substituent, not a single atom. If the two atoms sit in a ring, cutting the bond would not separate anything, and only the last atom moves.
  • Adding a second molecule. With nothing selected, insert places the chosen molecule alongside what is already there and leaves it selected, which is how dimers, clusters and host-guest pairs are built: move it with the Geometry tab, then Clean up relaxes only the newcomer against the rest.
  • Atoms. Delete removes every selected atom (the Delete key does the same). Set element changes the selected atoms to the element in the box. Add atom places a new atom of that element: with one atom selected it is put at bonding distance in the direction that is still free, which is what you want for adding hydrogens.
  • Drawing. Draw hands the 3D view to the mouse: click to place an atom, then click on and each new atom is bonded to the last, so a chain is drawn one click at a time. The atom that follows the cursor keeps the bond length its two elements want, so it only turns about the one before it — click nearer than that length and the rest of the bond points out of the screen at you, which is how a flat gesture builds in three dimensions; Alt sends it behind the screen instead. Click a bond to raise its order, drag an atom to move it, and hold Alt to act on what is already there rather than adding to it. A sketch is a sketch: Add H and Clean up are what turn it into a geometry worth calculating.
  • Periodic systems. Wrap into cell folds every atom back into the first unit cell. Build supercell turns the repeat counts above into a real supercell — the atoms are multiplied out and the lattice is scaled to match, so the coord you get is the large cell rather than a view of it. Clean up also works on periodic structures: the cell stays exactly as it is and the atoms relax inside it, with every interaction folded over the periodic images. A structure whose lattice parameters disagree with the force field keeps that strain — expect a rattled crystal to come back, not a lattice constant to change. With atoms selected, only those relax, which is exactly what an adsorbate wants: with a surface atom selected, or nothing selected, insert on a periodic structure places the chosen molecule above the surface as a whole, leaves it selected, and one Clean up then relaxes just the adsorbate against the frozen host. Select a hydrogen, or any atom that genuinely has a free valence, and it substitutes exactly as it does on a molecule, because a molecule in a box is still a molecule. Whether a site is free is judged with the periodic images present: a graphene carbon has one neighbour inside the cell and two more across the boundary, and it is the full sp2 centre it looks like from outside.
  • Building from scratch. With nothing loaded, pick an entry from insert and press Insert to start from a whole molecule, press Add atom to drop a single atom and grow outwards, or turn on Draw and sketch one straight into the 3D view. Once a structure exists, selecting one atom and inserting again attaches that group: selecting a hydrogen replaces it (the usual way to put a substituent on), while selecting a heavier atom uses its free valence. The newly attached group is relaxed against the existing structure, which stays where it is. The element for Add atom and Set element is chosen from the periodic table behind the coloured button.
  • Selecting. Beyond clicking, the Select tab has All, Invert, Fragment (the whole molecule an atom belongs to), Same element and Grow (extend to bonded neighbours).
  • Moving things. The Geometry tab translates, rotates about x, y or z, mirrors through a plane, centres the structure, and aligns it to its principal axes of inertia. Rotations and mirrors act about the centre of whatever is selected, so a group turns in place.
  • Periodic cells. The Cell tab turns a molecular structure into a 1D chain, 2D slab or 3D bulk system and back. Choosing a periodicity wraps a box round the structure, sized to it plus the gap you set — the empty space left between one periodic image and the next, along the periodic directions only. In 1D and 2D the remaining directions carry no lattice vector, so nothing is repeated there and no vacuum is needed: a 2D slab is periodic in x and y and simply finite along z, unlike in codes that can only do 3D and have to fake a surface with a thick empty layer. Lattice parameters a, b, c, α, β, γ can also be typed in directly, and Build supercell multiplies the atoms out and scales the lattice to match. The cell is written to the coord exactly as given, and the periodicity carries over to the Input generator, which then produces a riper setup with periodic basis sets and a k-point mesh.
  • Add H. Fills free valences with hydrogens, placing them at the geometry the centre implies — tetrahedral, trigonal planar or linear — and staggering them against the neighbouring substituents. The free valence comes from the perceived bond orders, so an aromatic ring, a carbonyl or a nitrile each get the right number. With atoms selected, only those are filled. On a periodic structure the neighbouring images are counted first, so a graphene carbon is seen as the full sp2 centre it is and keeps its hands empty, while an adsorbate or a dangling bond left by a cut is filled as it should be.
  • Clean up. Relaxes the geometry with the UFF force field (Rappé et al., J. Am. Chem. Soc. 114, 10024 (1992)) — bond stretching, angle bending, torsions, van der Waals and electrostatics (QEq charge equilibration, solved per molecule, so hydrogen bonds and dipoles behave) — and a hand-built structure comes out with sensible bond lengths and angles. The thorough switch restarts the relaxation from several twists of the rotatable bonds and keeps the best result, which rescues an eclipsed or tangled conformer that a plain relaxation would only polish in place; a twist has to be a real improvement to win, so pressing it again on a settled structure leaves it as it is. With atoms selected, only those move and the rest are frozen. This is a quick force-field pre-optimisation, not a substitute for optimising the structure with TURBOMOLE.
  • Solids. The insert list carries common crystals — rock salt NaCl and MgO, diamond and silicon, Cu and Pt fcc, graphene and rutile TiO2 — each as its conventional cell with the experimental lattice constant. They insert into an empty box only, and from there the Cell tab takes over: build a supercell, cut a (hkl) surface, or hand the cell straight to the input generator.
  • Metal complexes. The insert list includes organometallic and coordination templates — ferrocene, Cr(CO)6, Ni(CO)4, Fe(CO)5 and cisplatin — as whole structures to start from and edit. They carry no substitution point, because a sandwich is bound η5 and a carbonyl or amine donates a lone pair, neither of which is the σ bond that substitution here makes; inserting one replaces whatever is in the box. A ligand atom coordinated to a metal counts as complete, so Add H will not put hydrogens on the carbonyls of Cr(CO)6 — though a bare carbon on a metal still fills out to a methyl. Clean up understands metals: it carries the UFF transition-metal parameters, keeps a d8 centre such as Pt(II) square planar, recognises η-bound rings (a cleaned ferrocene keeps planar Cp rings and its Fe–C distances), and was validated against 600 DFT-optimised complexes from the tmQM set, where the median metal–ligand drift is 0.11 Å and every genuine metal–ligand bond survives. It is still a force field, so treat the result as a starting geometry, not an answer.
  • Bonds. Connectivity is not stored anywhere — it is read back from the geometry each time, exactly as TURBOMOLE and the coord format see it. So bonds are made and broken by moving atoms: with two atoms selected, Make brings them to bonding distance and Break moves them apart until they are no longer bonded. Breaking a bond that sits in a ring opens the ring rather than splitting the molecule, since there is still a path round the other way. Bond orders are shown in the 3D view: double and triple bonds as two and three cylinders, aromatic rings as single bonds with an inner line. They come from the same perception that decides how many hydrogens an atom wants, so what you see is what the tool believes.
  • Ions and hypervalent centres. There is no charge here — a coord file has nowhere to put one, and the charge belongs to the Input generator instead. So valences are counted as if everything were neutral, and anything beyond that is allowed but pointed out. To protonate benzene, select a ring carbon and use Add atom: the extra hydrogen goes perpendicular to the ring, where the sp3 carbon of an arenium ion wants it, and Clean up gives the C2v benzenium geometry. Note that Add H is valence-driven, so it fills a carbocation centre as though it were a neutral radical — on an ion, add the atoms you want yourself, or select only the atoms you want filled. Set the charge afterwards in the input generator.
  • Building a molecule from its symmetry. The Symmetry tab also takes a molecular point group and the atoms that are not related by it, and applies every operation of the group to make the rest — which is how a ring or a cage is built from the few atoms that matter. Ammonia is a nitrogen and one hydrogen in C3v, benzene one carbon and one hydrogen in D6h, and a C60 is a single carbon in Ih, every one of the sixty being an image of it. Type the group where the space group goes: C3v, D6h, S4, D3d, Td, Oh or Ih, and the cell fields make way, since a molecule has none, and the coordinates are read in Ångström from the centre of the group. An atom on an axis or in a mirror plane has a shorter orbit than the order of the group, which the merge distance decides and the note reports. Going the other way, a molecule whose point group has been detected offers Use in Symmetry tab, which turns it into the standard orientation and writes down the atoms the group makes the rest from, so it can be edited and built again. The two directions use the same generator, so what one writes the other reproduces. The groups with an infinite axis, C∞v and D∞h, have no finite orbit to generate and are refused with a word saying why.
  • Building a crystal from its symmetry. The Symmetry tab takes a space group, the lattice parameters and the atoms of the asymmetric unit in fractions of the cell, and applies every symmetry operation of the group to build the full cell. The group can be given as a number from 1 to 230 or as a Hermann-Mauguin symbol, in any of the ways people write it: Pnma, P2_1/c or P21/c, Fm-3m or Fm3m, and the older Cmca for Cmce. All 230 groups are there with their alternative settings, named in words rather than in codes — origin choice 2, hexagonal axes, unique axis b — and the parameters a group fixes are filled in and locked, so a cubic group cannot be given three different edges. Coordinates like 1/3 are read as fractions. A site on a special position produces fewer atoms than the order of the group, which is what the merge distance decides, and the multiplicity of each site is reported so it can be checked against the tables. If the coordinates would sit on more symmetric positions in another setting of the same group, which is the usual sign that they were published in that one, the tool says so rather than quietly building a different crystal, and it says so again when an atom of carbon, nitrogen, oxygen or fluorine comes out with more than four neighbours, which no structure has. Two settings that differ only in where the origin sits describe the same crystal with different numbers, so changing the setting offers to move the asymmetric unit across instead of reading the old numbers in the new origin: diamond is 1/8 1/8 1/8 in origin choice 2 and lands on a sixteenfold position in origin choice 1. Find symmetry goes the other way still: it works out the space group of the structure now loaded, from its own atoms rather than from anything it was built with, so it answers for a file that arrived from somewhere else. The lattice has its own point group, whose operations are the integer matrices that leave the cell alone; each of those paired with a translation the atoms themselves suggest is either a symmetry of the structure or it is not; and what survives is matched against the tables, allowing for where the origin sits. What it found goes into the tab whole: the group, the setting, the cell, and the structure reduced to the few sites the group makes the rest from, so that Build crystal returns the same atoms. How far an atom may sit from where an operation would put it is the tolerance beside the point group. A structure given in a primitive cell of a centred lattice has the right symmetry without the conventional axes, and is reported by its operation count rather than named. Where the sites cannot be written in the cell as it stands the atoms still go in, as P1, and the note says so. Read current cell writes the structure now loaded into the tab as P1 at any time, and Add at fraction places one atom at a fractional position — over a slab the last number is a height in Ångström, which is the quick way to park an adsorbate.
  • Redefining the lattice. The Cell tab can re-express the same crystal in a new cell: the new lattice vectors are an integer matrix times the old ones, and the new cell holds |det M| copies of the old contents. A √3×√3 graphene cell is M = [[2,1],[−1,1]], a 45°-rotated square cell [[1,1],[1,−1]]. Integer matrices enlarge or reshape; going to a primitive cell would need fractions, which this does not do.
  • Cutting a surface. From a 3D periodic structure, Cut slab takes Miller indices (h k l) and a number of layers and returns the corresponding surface as a 2D-periodic system, with the surface in the xy-plane and the slab standing on z = 0 — which is the frame TURBOMOLE's 2D $lattice is written in. Because a genuinely 2D calculation has no periodicity perpendicular to the surface, no vacuum padding is needed. Indices may be negative, and the surface cell is reported along with the slab thickness. The construction uses a unimodular change of basis, so a slab of n layers holds exactly n times the contents of the bulk cell. The Cut tab holds this and the cluster carving below it, under their own headings: choose the (hkl) plane, the depth in atomic layers or in Ångström, and press Preview to see the cut drawn on the bulk — the two cutting planes, and highlighted, the atoms the slab keeps — before Cleave commits it.
  • Which plane ends the slab. A compound usually has more than one surface it could be cut on: SrTiO3(001) ends either on SrO or on TiO2, and the two behave quite differently. The termination offset slides the cut through one repeat distance along the surface normal, as a fraction of that repeat or in Ångström, so sweeping it from 0 to 1 walks through every distinct termination the surface has. The repeat distance itself is reported beside the slab.
  • Capping dangling bonds. Cutting a covalent crystal leaves broken bonds at both faces. Cap puts an atom on each one — hydrogen by default, any element you type — on the top face, the bottom face or both. What counts as a broken bond is worked out against the material the cut removed, with the slab's own periodic images in place, so atoms at the edge of the surface cell are not mistaken for under-coordinated ones. A cap with no room, because two neighbouring atoms point at the same gap, is dropped and counted rather than left overlapping. Metals are left alone: close packing has no dangling bond to saturate, and hanging a hydrogen off every contact would bury the surface.
  • A finite piece of a crystal. Cut cluster, in the Cluster half of the Cut tab, carves a sphere or a box out of a periodic structure and drops the periodicity, which is how a molecular calculation on a piece of a solid starts. It is taken round the middle of the structure, or round the atoms that are selected when there are any, so a cluster can be cut on a defect, a dopant or an adsorption site by clicking that atom in the 3D view first — the panel says which it will do before you press it. Whole molecules keeps a molecular crystal's molecules intact instead of slicing through them (an extended network such as diamond has no molecules to keep, and is clipped as it stands), and cap cut bonds saturates what the cut broke. It works on sheets and chains too, so a flake can be carved out of graphene.
  • Undo. Every edit is undoable. Edits rewrite the input box as a coord file, so the text, the 3D view, the detected point group and the output below always agree — and you can keep editing the text by hand at any point.
Point group & symmetrize — how it works
  • Detection. For a molecular structure the Schönflies point group (e.g. C2v, D6h, Td) is found automatically and shown in the status line and the readout below the input. It is computed from the geometry — moment-of-inertia axes plus tests of candidate rotation axes, mirror planes, inversion and improper rotations — and covers everything from C1 through the cubic and icosahedral groups, as well as linear C∞v/D∞h.
  • Tolerance. The tolerance field (in Å) sets how far an atom may sit from its ideal symmetric position and still count as symmetric. Loosen it to recognise the intended symmetry of a noisy geometry; tighten it to be strict.
  • Symmetrize. Click Symmetrize to snap a near-symmetric geometry onto exact symmetry (atoms are averaged over their symmetry images) and orient it to a clean standard frame (principal axis along z, centred at the symmetry centre). Use it before sending a noisy structure to the Input generator — exact symmetry is what lets TURBOMOLE detect and exploit the full point group. Disabled for linear molecules (already symmetric) and hidden for periodic systems.
  • You don't need a $symmetry line: TURBOMOLE detects the point group of your coord and orients the molecule itself. The detected group is passed to the Input generator, where it selects the irreducible representations for excited-state inputs ($soes / $excitations).
Notes & tips
  • Coordinates are written in Bohr (TURBOMOLE's native unit); XYZ/PDB/POSCAR inputs are assumed to be in Ångström and converted automatically (1 Bohr = 0.529177210544 Å).
  • VASP POSCAR files produce a 3D-periodic coord with a $lattice block (fractional Direct coordinates are expanded to Cartesian). Pair it with a periodic input generator setup (riper).
  • The structure library. The menu beside the examples holds crystal structures ready to load: metals, semiconductors, oxides, ceramics, minerals, zeolites, molecular crystals and layered materials. They come from the Crystallography Open Database, whose contents its contributors have placed in the public domain, and each one names the entry and the refinement it came from so it can be cited. Every structure was checked before it went in: the phase is the one you get at ordinary pressure, the chemistry is what the name says, and no two atoms are closer than a bond between them can be. Nothing is downloaded until you pick something.
  • CIF. A crystallographic information file is read straight in: the cell, the symmetry and the asymmetric unit, expanded into the whole cell. Where the file lists its own symmetry operations those are used, since a file can be written in a setting no table holds, and the space-group name is only consulted when it gives none. Uncertainties in brackets, charged type symbols such as Ca2+, and site labels are all understood. A file with no symmetry block at all is read as P1, which is what a structure written out of an optimisation looks like. A disordered file, where two species share one site, is refused rather than built with two atoms in the same place.
  • Need SMILES, MOL/SDF or another format? Convert it to XYZ or PDB first (e.g. with Open Babel: obabel in.cif -O out.xyz) and paste the result here. Open Babel can also write TURBOMOLE coord directly with -o tmol.
  • TURBOMOLE also ships the x2t / t2x scripts for xyz↔coord conversion on the command line.