Open-source cheminformatics

Cheminformatics for working with molecules.

Parse SMILES, calculate molecular properties, and search structures in Python, Rust, and the browser.

Check a molecule in your browser

This sample runs on your device. The SMILES value is not sent to the site.

Up to 200 characters.

Install chematic
pip install chematic
cargo add chematic --features "smiles,perception,chem,3d,fp"
npm install @kent-tokyo/chematic
<script type="module">
  import init, { parse_smiles } from "https://cdn.jsdelivr.net/npm/@kent-tokyo/chematic@1.1.7/chematic_wasm.js";

  await init();
  const mol = parse_smiles("CC(=O)Oc1ccccc1C(=O)O"); // aspirin
  console.log(mol.molecular_weight().toFixed(2)); // 180.16
  mol.free();
</script>

† Pure Rust by default. The optional native-inchi feature vendors a C reference library for bit-exact InChI — see Validation.

v1.1.7Python · Rust · WebAssembly · MCPPure Rust by default†Versioned validation records

What this software does

chematic reads a molecule written as text, draws its structure, and calculates properties. SMILES is a compact molecular notation: CCO is ethanol. The browser examples run on your device. WebAssembly (WASM) runs the chemistry code in the browser. MCP lets an AI client call a chemistry tool running on your machine.

Molecular tools for a specific task

Choose the result you need. Each tool opens ready to use, with an example to try.

SMILES to SVG

Paste a SMILES string, draw the 2D structure, and download an SVG for a document or slide.

All tools →

New to chematic?

Start with one small result

Try a molecule first, then choose the environment that fits your work. Each link leads to a concrete next step.
  1. Try one molecule

    Paste a SMILES string and inspect a structure and basic properties in the browser.

    Open the browser demo
  2. Choose how to use it

    Use the install commands for Python, Rust, JavaScript, or a version-pinned CDN module.

    Choose an environment
  3. Follow a task guide

    Start with a short, runnable example for validation, descriptors, similarity, or file conversion.

    Open the first guide

Choose a surface

Find the right place for the task

Guides, reference material, browser tools, and validation evidence answer different questions. Pick the surface that matches the work in front of you.
  1. Learn a task

    Short, runnable guides for common molecular workflows.

    Browse tutorials
  2. Look up an API

    Installation notes, package reference, and migration details.

    Open documentation
  3. Try it in the browser

    Parse, calculate, and search structures without sending a molecule to a server.

    Open Playground
  4. Check the evidence

    See what is stable, partial, experimental, or measured on a named corpus.

    Read validation

At a glance

Current releasev1.1.7Published 2026-10-17
Supported environmentsPython · RustPython 3.9–3.13 · Rust · WebAssembly · MCP
Published core check100%MW, LogP, TPSA, HBA/HBD, and aromatic ring count match RDKit at 100% on the published corpus.
Browser package2.50 MB2.50 MB gzip · measured from v1.1.7

Why chematic

Keep chemistry close to the product

chematic gives browser tools, Python workflows, Rust services, and local AI tools one chemistry core. Start with the environment your users need now, without designing a different chemistry layer for the next one.

Run where the work happens

Ship parsing, properties, fingerprints, search, and 2D depiction in the browser. The browser tools run locally, so an interactive tool does not need a chemistry backend for those operations.

Carry one core across products

Use the same Rust engine from Python, Rust, JavaScript/WASM, and the local MCP server. Move a prototype toward a service or browser feature without changing the underlying chemistry stack.

Integrate without a native detour

The standard path is Pure Rust: no C++ toolchain, subprocess, or separate chemistry service is required for the core workflow.

Inspect the evidence before you depend on it

Published packages, named corpora, and known boundaries are linked from the validation record. Check the operation you need, then validate it on your own data.

Try two operations

Compare structures and search substructures

The molecule panel above parses SMILES, draws a structure, and calculates properties. Try a local similarity score and SMARTS match here before installing a package.

ECFP4 similarity

Compare two structures with a Tanimoto score.

SMARTS substructure search

Find a pattern and inspect the matched atoms.

Where you can use it

One chemistry core, four ways to use it

Parsing, structure perception, depiction, and descriptors use the same implementation. Pick the browser, Python, Rust, or a local MCP tool for the work in front of you.

From the blog

All articles →

Contribute

chematic is open source under MIT OR Apache-2.0. Issues, discussions, and pull requests are welcome.