Infinite molecules
Every string of SELFIES symbols is a valid molecule, so chemical space can be numbered and paged through like a book. Click a SELFIES or SMILES string to copy it.
Loading RDKit…
Numbering chemical space
SELFIES (self-referencing embedded strings) write a molecule as a sequence of symbols such as [C], [=O], [Branch1] or [Ring1]. Unlike SMILES, the grammar is built so that any sequence of symbols decodes to a valid molecule: a bond that would exceed an atom's valence is reduced, and a ring or branch that can't be formed is skipped.
That makes enumeration easy. With an alphabet of N symbols there are NM strings of length M; write the index in base N and read each digit as a symbol. Each string is decoded to SMILES and drawn with RDKit, all in your browser.