Obsidian MatterViz
unlistedby Aritra Roy
Obsidian plugin for interactive 3D crystal structure, band structure, DOS, MD trajectory, Fermi surface and volumetric data visualisation powered by MatterViz.
Obsidian MatterViz
A lightweight Obsidian plugin for rendering supported materials science files directly inside Obsidian markdown documents.
Overview
Obsidian MatterViz is a materials visualization plugin built to render supported scientific files inside Obsidian markdown embeds. The main workflow is to place a supported file in a note, render it inline, and inspect the structure or spectra without leaving Obsidian.
The plugin focuses on a few core workflows:
- inline rendering of structure, trajectory etc. (similar as MatterViz) inside markdown notes
- additional band structure and DOS visualization for electronic workflows
- single-file rendering for supported inputs without needing extra setup
- small, practical UI controls that stay close to the data
Usage
Step-by-Step
- Pick a supported file type from the table below.
- Wrap the content in a fenced code block using the matching keyword.
- Paste the block into any Obsidian note.
- MatterViz will render the content inline, directly inside the note.
Example
```poscar
Cubic BN
3.57
0.00000000 0.50000000 0.50000000
0.50000000 0.00000000 0.50000000
0.50000000 0.50000000 0.00000000
B N
1 1
Selective dynamics
Cartesian
0.00000000 0.00000000 0.00000000 T T F
0.25000000 0.25000000 0.25000000 F F F
Cartesian
0.01000000 0.01000000 0.01000000
0.00000000 0.00000000 0.00000000
```
Supported File Types and Inline Keywords
| Category | File / Example | Fence keyword(s) |
|---|---|---|
| Structure (VASP) | POSCAR / CONTCAR | poscar, vasp |
| Structure (CIF) | .cif / .mcif / .mmcif | cif, mcif, mmcif |
| Structure (XYZ) | .xyz / .extxyz | xyz, extxyz |
| Structure (other) | .pdb / .mol / .mol2 / .sdf | pdb, mol, mol2, sdf |
| LAMMPS / plain text | LAMMPS data, dump, .lmp | lmp, data, dump |
| Trajectories | .traj, .h5, .hdf5, .dcd, .xtc, .trr, .lammpstrj | traj, h5, hdf5, dcd, xtc, trr, lammpstrj |
| Volumetric (cube) | .cube | cube |
| Volumetric (VASP) | CHGCAR / ELFCAR / PARCHG | chgcar |
| Fermi / DOS / BXSF | .bxsf / .frmsf / DOSCAR | bxsf, frmsf, doscar |
| Vasprun (bands/DOS) | vasprun.xml | vasprun |
| Generic aliases | content-based hints / generic pastes | crystal, structure, matterviz |
Installation
Step-by-Step Guide
- Open a terminal or PowerShell window in the folder where you want to keep the project.
- Clone the repository:
git clone https://github.com/aritraroy24/obsidian-matterviz.git
- Move into the project folder:
cd obsidian-matterviz
- Install the dependencies:
npm install
- Build the plugin so the runtime files are generated using the following command:
npm run build
- Open your Obsidian vault folder on disk.
- Create a folder at
.obsidian/plugins/obsidian-matterviz/if it does not already exist. - Copy generated
dist/folder,manifest.json,main.jsandstyles.cssfiles into that folder. - Restart Obsidian.
- Go to
Settings>Community pluginsand enableObsidian MatterViz. - Open a note and paste a supported fenced block such as
poscar,cif, ortrajwith the appropriate content to verify it renders inline.
Typical Folder Layout
Obsidian Vault/
└── .obsidian/
└── plugins/
└── obsidian-matterviz/
├── dist/
├── manifest.json
├── main.js
└── styles.css
Screenshot of Rendered Views
KPOINTS Notes
- If a same-folder
KPOINTSfile exists, MatterViz uses it for symmetry labels. The filename of thevasprun xmlis used to find the correspondingKPOINTSfile (e.g.vasprun.xmllooks forKPOINTS,vasprun_band.xmllooks forKPOINTS_bandetc.). - If not, the band structure still renders, but labels may fall back to inferred placeholders.
Shoutout and Credit
Special shoutout to the authors of MatterViz, Janosh Riebesell and Matthew Evans, for creating the original MatterViz library that powers this plugin:
- Repository: https://github.com/janosh/matterviz
If you use this project in academic work, please cite MatterViz:
@software{riebesell_matterviz_2022,
title = {matterviz: visualization toolkit for materials informatics},
author = {Riebesell, Janosh and Evans, Matthew},
date = {2026-01-23},
year = {2026},
doi = {10.5281/zenodo.17094509},
url = {https://github.com/janosh/matterviz},
note = {10.5281/zenodo.17094509 - https://github.com/janosh/matterviz},
urldate = {2026-01-23},
version = {0.3.1},
}
Contact
Author: Aritra Roy
- 🌐 Website: aritraroy.live
- 📧 Email: contact@aritraroy.live
- 🐙 GitHub: @aritraroy24
- 𝕏 Twitter: @aritraroy24
Project Links:
- GitHub Repository: obsidian-matterviz
- Issues: GitHub Issues
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.