Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Lectern

Jared WinslowJared Winslow2 downloads

Preview docx/xlsx/pptx and 130+ code files. Selectable pptx text, zoom, edit and save, and Word-style margin comments stored as markdown in your vault, on PDFs too.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Read your lecture files inside Obsidian, select and copy the text, and leave margin comments that live in your vault as plain markdown.

Selecting a line on a PowerPoint slide and adding a margin comment, then doing the same on a PDF through the right-click menu, then opening the markdown note the comments are saved in

What it does

  • Opens Office and code files. .pptx, .docx, .xlsx, .xls, and 130+ code and text formats, with syntax highlighting, zoom and pan.
  • Slide text is real text. Drag-select and Ctrl+C work on slides. Other preview plugins draw slides to a canvas, which is just pixels.
  • Copies a deck out as markdown. Copy slide grabs one slide; Copy all exports the whole deck with one heading per slide. Speaker notes show under each slide.
  • Word-style margin comments. Select text, run Comment on selection (or your hotkey for it), write a note. Cards sit in a right-hand margin with a line to the highlight.
  • Comments on PDFs too, inside Obsidian's own PDF viewer. Right-click a selection and pick Highlight and comment. Page links, search and thumbnails keep working.
  • Your files are never modified. Comments go to a sidecar note in File-Notes/, so they show up in search, backlinks and sync like any other note.

Install

From a release (recommended). Download main.js, manifest.json and styles.css from the latest release into:

<your vault>/.obsidian/plugins/lectern/

Then fully quit and reopen Obsidian, and enable Lectern under Settings → Community plugins. A plugin reload is not enough the first time, because Obsidian only registers new file types at startup.

Set a hotkey. Lectern ships without one so it can't clash with yours. Go to Settings → Hotkeys, search "Lectern: Comment on selection", and bind it. Ctrl+Alt+M is the one the author uses, and the one Word uses for a new comment.

Desktop only. Lectern needs Obsidian 1.14 or later on Windows, macOS or Linux.

From source.

git clone https://github.com/Sqxirts/lectern.git
cd lectern
npm install
npm approve-scripts esbuild   # npm blocks postinstall scripts by default
cp .env.example .env.local    # set LECTERN_OUT to <vault>/.obsidian/plugins/lectern
npm run build

Without LECTERN_OUT the build goes to ./dist.

Usage

To Do
Comment on a selection The Comment toolbar button, or the Comment on selection command
Comment on a PDF selection Right-click → Highlight and comment, or the same command
Copy one slide / the whole deck Copy slide / Copy all in the toolbar
Zoom / pan Ctrl+scroll or the toolbar; middle-drag to pan
Hide a finished comment Resolve on the card
Edit a text or code file Edit, then Save in the toolbar

Settings cover the comment folder, default zoom, speaker notes, showing resolved comments, PDF comments on or off, and per-file-type toggles for when another plugin already handles a format.

A comment card and its sidecar entry look like this:

## Slide 2: "The triad is a way of asking questions, not a checklist"

Likely midterm question. Compare with STRIDE in Reading 3.

Each comment remembers the exact quote plus the text around it. If the file changes, Lectern finds the quote again; if it can't, the card is flagged orphaned instead of disappearing. Details in docs/comments.md.

What it touches outside your vault

On Windows only, slides that contain old Windows vector images (EMF/WMF), which browsers can't display, are converted to PNG through PowerShell and the built-in .NET imaging library. Each image is written to a temporary folder in your system temp directory (lectern-emf-*), converted, and the folder is deleted straight away. On macOS and Linux those images show a labelled placeholder instead. Nothing else leaves the vault, and Lectern makes no network requests.

Known limits

  • Slide fidelity is practical, not pixel-perfect. No SmartArt, animations, embedded media or 3D, and fonts are not embedded. That is the trade for selectable text.
  • PDF comments need a text layer, so scanned PDFs can't be commented. One comment can't span two pages, and PDF embeds inside notes (![[x.pdf]]) aren't covered.
  • PDF comments use Obsidian internals that aren't public API (tested on Obsidian 1.14.4). If an update breaks them, the feature switches itself off with a notice and the viewer keeps working. It also stays off while PDF++ is enabled.
  • Code files can be commented in read mode only.
  • Spreadsheets are capped at 5,000 rows and 256 columns per sheet.

Development

npm run dev        # rebuild on save
npm test           # vitest
npm run typecheck

After the first launch you can pick up a rebuild by toggling the plugin off and on. Test fixtures are generated, not committed: python fixtures/make_fixtures.py (needs python-pptx, python-docx, openpyxl).

  • docs/architecture.md: how the code is laid out, the PDF internals, HTML sanitising, dependencies
  • docs/comments.md: the sidecar format and how anchors are resolved
  • tools/demo/: re-records the GIF above

Licence

MIT

HealthExcellent
ReviewPassed
About
Open .pptx, .docx, .xlsx and 130+ code/text formats inside Obsidian, copy real slide text or export whole decks as Markdown with speaker notes. Annotate with margin comments and PDF highlights that save as plain Markdown sidecar notes in File-Notes/ so comments appear in search and backlinks while original files stay unchanged.
AnnotationExportFormats
Details
Current version
1.0.2
Last updated
4 hours ago
Created
14 hours ago
Updates
4 releases
Downloads
2
Compatible with
Obsidian 1.14.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Jared WinslowJared Winslowsqxirts
GitHubsqxirts
  1. Community
  2. Plugins
  3. Annotation
  4. Lectern

Related plugins

Pandoc Plugin

Commands to export to Pandoc-supported formats like DOCX, ePub and PDF.

Markmind

Mind map, outline and PDF annotation tool. (Closed source)

qmd as md

Edit, preview, and render Quarto (.qmd) files with executable code cells via Quarto to PDF, DOCX, HTML, or reveal.js.

ToWord

Export markdown files to Word (docx) with text styling, syntax highlighting, and full mobile support for iOS/Android.

Markdown to Jira Converter

Convert notes or selections to Jira markup and vice versa.

PDF Highlights

Extract highlights, underlines and annotations from your PDFs.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Admonition

Admonition block-styled content.

HiNote

Add comments to highlighted notes, use AI for thinking, and flashcards for memory.

Slides Extended

Create markdown-based reveal.js presentations. Fork of Advanced Slides.