ChemSpec

approved

by Ruzal Sitdikov

An interactive, offline viewer for NMR, FT-IR, and analytical chemistry spectra directly inside your electronic lab notebook. - This plugin has not been manually reviewed by Obsidian staff.

150 downloadsUpdated 14d agoMIT

ChemSpec

An interactive, offline viewer for NMR, FT-IR, and analytical chemistry spectra directly inside your electronic lab notebook. Fully supported on both Desktop and Mobile.

Quick demo:

ChemSpeck qdemo

Bring analytical chemistry to Obsidian.

ChemSpec is an offline, interactive viewer for NMR, FT-IR, and analytical chemistry spectra inside your electronic lab notebook.

Created to use it alongside ChemEdit ELN to process raw analytical data, integrate peaks, and simulate spectra natively in your vault.

What's New (v1.1.0)

  • NMR Stacking: Drag & drop multiple spectra onto the standalone viewer to stack/overlay them. NMR stacking screenshot: image

NMR Overlay: image

  • Fixed CV Plotting: CV rendering with a full bounding box, inward-facing ticks, bold serif fonts, and high-res trace rendering.
image
  • Electrochemistry Tools: Added one-click "Auto Fc Calc" (E1/2 and ΔE shifting) and "Find Peaks" (Epa, Epc detection and labeling) directly on the CV canvas.
  • Smart NMR Labels: Peak labels now dynamically hide when overlapping to prevent unreadable "walls of text" on zoom-out.
  • SVG Export Fixes: Publication SVG exports now mirror the canvas, including collision-aware peaks, multiplets, and integrals.

Settings preview:

image

Features

  • Native Embeds: Render .nmr, .jdx, .jcamp, .csv, and .txt files directly via standard Obsidian embeds (![[spectrum.jdx]]).
  • NMR Processing: Load raw Bruker acqus/1r datasets. Features include integration, multiplet brackets, J-coupling calculations, and peak picking.
  • FT-IR & Cyclic Voltammetry (CV): Plot standard spectroscopy and electrochemistry trace files directly in your notes.
  • PubNMR Simulation: Paste ACS NMR strings into a pubnmr code block to render a simulated, interactive spectrum.
  • Export & Draft: Copy ACS multi-proton strings to your clipboard, or export .svg publication figures and .jdx files from the canvas.
  • Themes: Spectra automatically adapt to Obsidian's Light/Dark mode.

Usage

1. File Embeds

Drop a spectrum file into your vault and embed it using Obsidian's standard syntax:

![[compound_1.nmr]]
![[ir_spectrum.jcamp]]
![[cv_trace.csv]]

2. Standalone Workspace

Click the Activity Icon in the left ribbon to open the ChemSpec application. Drag and drop raw Bruker folders or files directly into the workspace to process them.

3. Spectra Grids

Compare multiple spectra using a code block:

```nmr
pdata/1/processed.nmr
reference_spectrum.jdx
```

4. Text-to-Spectrum (PubNMR)

Simulate a spectrum from experimental text:

```pubnmr
1H NMR (400 MHz, CDCl3) δ 7.95 (d, J = 8.1 Hz, 2H), 7.42 (d, J = 8.1 Hz, 2H), 2.45 (s, 3H)
```

Installation

From Obsidian Community Plugins

  1. Open Settings → Community plugins.
  2. Click Browse and search for ChemSpec.
  3. Click Install and then Enable.

Manual Installation

  1. Download main.js and manifest.json from the Releases page.
  2. Place them in your vault at .obsidian/plugins/chemspec/.
  3. Reload plugins and enable ChemSpec.

Feedback & Bugs

Found a bug or have a feature request? Please open an issue on GitHub.


Acknowledgements

ChemSpec was built to complement ChemEdit, providing a dedicated Electronic Lab Notebook (ELN) experience in Obsidian.

Thanks to the open-source cheminformatics community:

Related Plugins

PluginDescription
ChemEditNatively draw reactions, calculate stoichiometry, and manage ELN entries.
ChemRender SMILES structures locally using SmilesDrawer and RDKit.js
LaTeX SuiteWrite chemistry equations easily with LaTeX packages such as mhchem and chemfig.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.