InChI Identifier
representation.scientific.inchiIUPAC International Chemical Identifier. Machine-readable string that encodes molecular structure. Always starts with "InChI=1S/" (standard) or "InChI=1/" (non-standard). Layers encode formula, connections, hydrogen, charge, stereochemistry.
Worked samples
DuckDB 1.5.5 · finetype 0.6.64
| Value | As VARCHAR | formula | version |
|---|---|---|---|
| InChI=1S/H2O/h1H2 | InChI=1S/H2O/h1H2 | H2O | 1S |
| InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3 | InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3 | C2H6O | 1S |
| InChI=1S/CH4/h1H4 | InChI=1S/CH4/h1H4 | CH4 | 1S |
| InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H | InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H | C6H6 | 1S |
| InChI=1S/CO2/c2-1-3 | InChI=1S/CO2/c2-1-3 | CO2 | 1S |
Shape
^InChI=1S?/.+$| Value | Length | Shape |
|---|---|---|
| InChI=1S/H2O/h1H2 | 17 | matches |
| InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3 | 33 | matches |
| InChI=1S/CH4/h1H4 | 17 | matches |
| InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H | 34 | matches |
| InChI=1S/CO2/c2-1-3 | 19 | matches |
| inchi=1s/h2o/h1h2 | 17 | rejected: lower-cased |
Background
Origin
InChI is an acronym for IUPAC International Chemical Identifier.[1] The InChI project was initiated in 2000 by IUPAC and NIST.[2] The InChI Trust says the primary development of the InChI algorithm and software historically took place at NIST, under the auspices of IUPAC.[1] InChI was first released in 2005.[3] Since 2009, responsibility for InChI's technical development and promotion has been in the hands of the InChI Trust.[1]
The InChI Trust describes the project's goal as a freely available, non-proprietary identifier.[1] The 2015 paper describing InChI lists the ability to be read, parsed and edited by hand among the features considered of low importance.[2] The InChI Trust says the InChI format is designed for compactness, not readability, but can be interpreted manually.[1] The InChI Trust says Standard InChI was launched in response to concerns that InChI's flexibility could be a drawback for standardisation and interoperability.[1]
Use
Every InChI starts with the string InChI= followed by the version number, currently 1.[3] The InChI Trust says an InChI always starts with a prefix, either InChI=1/ for any InChI or InChI=1S/ for Standard InChI.[1] The InChI Trust says Standard InChI and non-standard InChI are always distinguishable.[1] The InChI software generates Standard InChI when it is used without any options.[1] The InChI Trust lists six InChI layer types: main, charge, stereochemical, isotopic, fixed-H and reconnected.[1] The fixed-H and reconnected layers are absent from Standard InChI.[1] InChI does not represent the three-dimensional coordinates of atoms.[3] Read two different Standard InChIs as two different structures, but do not read a shared Standard InChI as proof that two records describe the same tautomer or the same 3D conformation. (Meridian's view)
The InChIKey is a 27-character hashed version of the full InChI, made with the SHA-256 algorithm.[3] The InChIKey consists of three hyphen-separated parts of 14, 10 and one characters.[3] The InChI cannot be reconstructed from the InChIKey.[3] The InChIKey is not unique: collisions are expected to be extremely rare, but known collisions exist.[3]
Many databases show a discrepancy between the chemical structures and the InChI they contain.[3] The 2015 paper describing InChI says organometallics, inorganics and other classes of compounds still present a significant challenge.[2] Store InChI as plain text exactly as received, never changing its case or whitespace, and check the prefix before trusting the rest. (Meridian's view) Where correctness matters, regenerate the InChI from the source structure with the reference software and compare, rather than trusting a stored string. (Meridian's view)
Where you'll meet it
PubChem's PUG REST service returns InChI=1S/H2O/h1H2 as the InChI of compound CID 962.[4] The NIST Chemistry WebBook's page for water lists its IUPAC Standard InChI as InChI=1S/H2O/h1H2.[5]
Sources
- [1]InChI Technical FAQdocumentation
- [2]InChI, the IUPAC International Chemical Identifiersecondary source
- [3]International Chemical Identifiersecondary source
- [4]PubChem PUG REST: compound CID 962, InChI and InChIKeydataset
- [5]Waterdataset
Detection notes
New in taxonomy expansion. InChI is the IUPAC standard for machine-readable chemical identifiers. The "1S" prefix means standard InChI version 1. The formula layer (first after version) gives the molecular formula. Widely used in cheminformatics databases (PubChem, ChEBI, ChemSpider).
Use it
$ finetype infer -i "InChI=1S/H2O/h1H2" --mode column
→ representation.scientific.inchi
SELECT ft_infer('InChI=1S/H2O/h1H2');
-- → 'representation.scientific.inchi'CAST({col} AS VARCHAR)Schema
https://meridian.online/schemas/representation.scientific.inchi · Frictionless type string
finetype taxonomy representation.scientific.inchi -o json-schema