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

HTML Page Viewer

Viggo MeestersViggo Meesters47 downloads

Open .html and .htm files in Obsidian as a sandboxed rendered preview or syntax-highlighted source.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

HTML Page Viewer for Obsidian

HTML Page Viewer

HTML Page Viewer is a read-only Obsidian plugin for opening .html and .htm files as rendered pages inside Obsidian. It is built for local reports, exported dashboards, documentation pages, prototypes, and generated visual artifacts that you want to inspect without leaving the vault.

HTML Page Viewer preview

Features

  • Opens .html and .htm files in a dedicated Obsidian view.
  • Shows a rendered preview by default.
  • Provides a source view with lightweight HTML syntax highlighting and line numbers.
  • Includes a toolbar for Rendered/Source, Refresh, and Scripts OFF/ON.
  • Keeps scripts disabled by default.
  • Enables scripts only for the current viewer tab when explicitly toggled on.
  • Renders through a sandboxed iframe.
  • Blocks forms, popups, top-level navigation, and same-origin access.
  • Stays read-only by design: it never writes back to HTML files.

Security model

HTML files can execute powerful browser behavior if a viewer permits it. HTML Page Viewer uses a conservative default:

  • Scripts are OFF by default.
  • Scripts ON adds only allow-scripts to the iframe sandbox.
  • The iframe is never granted allow-same-origin, allow-forms, allow-popups, or allow-top-navigation.
  • The plugin code does not make network requests.
  • The plugin code does not read or write the system clipboard.
  • The plugin code does not edit vault files.

Rendered HTML may still request external resources, such as images, stylesheets, fonts, or scripts, when the HTML document itself references them. This is normal browser behavior for rendered HTML pages and is separate from plugin code making network requests.

Why read-only?

HTML reports and exported pages are often generated artifacts. HTML Page Viewer intentionally does not write to disk, so it cannot reformat, truncate, or corrupt your files.

Installation

Community plugin directory

HTML Page Viewer is ready for submission to the Obsidian Community plugin directory. Once accepted, it can be installed from Settings -> Community plugins -> Browse inside Obsidian.

Manual installation

Until the community directory submission is accepted:

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Create this folder in your vault: .obsidian/plugins/html-page-viewer/.
  3. Put the downloaded files in that folder.
  4. Reload Obsidian.
  5. Enable HTML Page Viewer in Settings -> Community plugins.

BRAT installation

For beta testing, install the plugin with BRAT using this repository URL:

https://github.com/viggomeesters/obsidian-html-page-viewer

Usage

Open any .html or .htm file in your vault. Obsidian will open it with HTML Page Viewer.

Use the toolbar to:

  • switch between the rendered preview and source view
  • refresh the rendered preview after file changes
  • turn scripts on or off for the current viewer tab

Scripts are intentionally per-tab. Opening a new HTML file starts with scripts off again.

Development

npm install
npm run build
npx tsc --noEmit
npm test

For local development, copy or symlink this repository into .obsidian/plugins/html-page-viewer/ inside an Obsidian vault.

Release process

Obsidian installs community plugin files from GitHub releases. For each release:

  1. Update manifest.json, package.json, and versions.json.
  2. Run npm install, npm run build, npx tsc --noEmit, and npm test.
  3. Create a GitHub release whose tag exactly matches manifest.json.version.
  4. Attach main.js, manifest.json, and styles.css as release assets.

The repository includes a GitHub Actions release workflow with artifact attestation support. If GitHub Actions is disabled for the owner account, manual releases are still usable for Obsidian, but the Community automated review may show a recommendation about missing artifact attestations.

Community directory submission

The repository is prepared for Obsidian Community plugin submission. The remaining submission step must be completed by the repository owner in the Obsidian Community site because it requires signing in, linking GitHub, and confirming the developer policies/support commitment.

Submit this repository URL:

https://github.com/viggomeesters/obsidian-html-page-viewer

Steps:

  1. Sign in to community.obsidian.md.
  2. Link the GitHub account that owns this repository.
  3. Open Plugins -> New plugin.
  4. Enter the repository URL above.
  5. Confirm the developer policies and submit.
  6. Address any automated review feedback.

The current release is ready for review:

  • root README.md, LICENSE, and manifest.json exist
  • manifest.json.version is 0.1.1
  • GitHub release 0.1.1 exists
  • release assets include main.js, manifest.json, and styles.css
  • versions.json maps supported Obsidian versions

Official references:

  • Submit your plugin
  • Obsidian releases repository

Acknowledgements

HTML Page Viewer was built independently, but it was informed by the existing Obsidian HTML viewer ecosystem, including the MIT-licensed JiaLinZhang24/obsidian-html-viewer. No source code from that project is included in this repository.

License

MIT

99%
HealthExcellent
ReviewPassed
About
Open .html and .htm files as rendered pages inside Obsidian. Switch to a source view with lightweight HTML syntax highlighting and line numbers, and use the toolbar to refresh or toggle scripts per tab (scripts off by default). Render pages in a sandboxed iframe that blocks forms, popups, top-level navigation and never writes to files.
HTMLFiles
Details
Current version
0.1.1
Last updated
3 days ago
Created
3 days ago
Updates
2 releases
Downloads
47
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Viggo MeestersViggo Meestersviggomeesters
GitHubviggomeesters
  1. Community
  2. Plugins
  3. HTML
  4. HTML Page Viewer

Related plugins

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Recent Files

Display a list of recently opened files.

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

QuickAdd

Quickly add new notes or content to your vault.

Claudian

Embeds Claude Code/Codex as an AI collaborator in your vault. Your vault becomes agent's working directory, giving it full agentic capabilities: file read/write, search, bash commands, and multi-step workflows.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Multi Properties

Add properties to multiple notes at once. Either right-click a folder or select multiple notes and right-click the selection.

Flexplorer

Enhance the file explorer with custom sorting, pinning, and hiding.

Text Extractor

A (companion) plugin to facilitate the extraction of text from images (OCR) and PDFs.

Open Tab Settings

Adds options to customize how tabs are opened, including open in new tab by default, preventing duplicate tabs, and more.