A comfortable WYSIWYG editor for creating structured documents.
Inscriptum lets you create and edit rich documents without having to write Markdown.
Work in single notes or in notepads — one file that keeps many related pages together.
Write structured documents with headings, lists, todo items, tables, images, links, code blocks, and more — using a familiar visual editor.
Your documents stay local and under your control. No cloud storage, no account, and no lock-in.

The Obsidian plugin brings Inscriptum to your Obsidian vault, allowing you to use the editor alongside your existing notes and workflow.
.um): many pages in one file, with a cover page, a pages drawer and notebook-wide searchInscriptum keeps your documents in your Obsidian vault.
There is no cloud service, no account, and no external storage required. Your documents and data remain on your device and under your control.
Alternatively, open the plugin page directly: Inscriptum on Obsidian Plugins.
If you want to try the latest development versions before they are released, install Inscriptum using BRAT.
Install BRAT in Obsidian.
Open BRAT → Add Beta Plugin.
Add:
inscriptum/obsidian-plugin
Install and enable Inscriptum.
Download main.js, manifest.json, and styles.css from the latest release.
Create the plugin directory:
.obsidian/plugins/inscriptum/
Copy the downloaded files into it.
Reload Obsidian.
Enable Inscriptum under Settings → Community plugins.
Clone the repository and install dependencies:
git clone https://github.com/inscriptum/obsidian-plugin.git
cd obsidian-plugin
npm ci
Start the development build:
npm run dev
The development build runs in watch mode and automatically deploys the plugin to:
.obsidian/plugins/inscriptum/
Create a production build:
npm run build
Run tests:
npm test
Browser tests run the real editor (ProseMirror + extensions) in Chromium via
Playwright, against a harness page with a shimmed obsidian module
(src/browser-harness/). Install the browser once, then run:
npx playwright install chromium
npm run test:e2e
Useful variants: npm run test:e2e:headed (visible browser) and
npm run test:e2e:ui (Playwright UI mode). CI runs the same suite on every
push (see .github/workflows/ci.yml).
Type-check the codebase (vite build does not check types; CI runs this on
every push, so keep it clean):
npm run typecheck
For a continuous check while refactoring:
npm run typecheck:watch
Releases are built automatically by GitHub Actions.
Create a new version and push the tag:
npm version patch
git push --follow-tags
The workflow builds the plugin, takes the release notes for the new version from CHANGELOG.md, and publishes the release automatically.
Before pushing the tag, add a ## [x.y.z] section to CHANGELOG.md describing
the changes — the release will be created only if that section exists.
MIT © 2026 sumbad