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

Local HTML View

AxeAxe154 downloads

Open local HTML files in a full browser view, keeping scripts, styles and interactivity intact instead of stripping them.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

Open .html and .htm files stored in your vault as fully working pages, without leaving Obsidian.

Most HTML readers sanitize the page before showing it: they strip <script> tags and external scripts for safety. That is fine for a saved article, but it breaks any page whose content or interactivity is produced by JavaScript. A dashboard, a generated index, a D3 or Chart.js figure, a Mermaid export, a reveal.js deck all open as a blank or dead page.

This plugin renders the file the way a browser would. Scripts run, stylesheets apply, <canvas> draws, and click handlers respond.

A script-generated page rendered inside an Obsidian tab

The page above is demo/interactive-report.html from this repository. Nothing in it exists in the markup: the chart is drawn with the Canvas API, the counter is wired to click handlers, and the list is built by a script. Copy it into a vault to check the plugin on your own setup.

Usage

Click any .html or .htm file in the file explorer. It opens in a normal Obsidian tab with a small toolbar for reloading, zooming, and opening the page in your default browser.

Links inside the page that point to obsidian://, http://, https:// or mailto: are handed to your operating system, so obsidian://open?... deep links jump back to the right note in your vault.

Commands

  • Toggle render mode between webview and iframe
  • Take over HTML files reclaims .html and .htm if another plugin registered them

Settings

  • Always use iframe forces the iframe renderer, useful if a page misbehaves in the webview
  • Take over HTML files performs the same reclaim action as the command

How it works

The page loads in an Electron <webview>, which is a separate renderer process, over a file:// URL. When Always use iframe is on it falls back to an <iframe> loaded over Obsidian's own app:// resource protocol.

Two details are worth knowing if you read the source:

  • A webview cannot resolve Obsidian's privileged app:// protocol, because it does not share the main window's session. It has to use file://.
  • An iframe has the opposite constraint. It lives inside the main window, where file:// is blocked by the content security policy, so it has to use app://.

The plugin claims the .html and .htm extensions at load, again once the layout is ready, and once more two seconds later, to win against other HTML plugins that register later. After that it stops. There is no polling and no persistent timer. The original extension owners are restored when the plugin unloads.

Compatibility

Desktop only. The webview renderer is an Electron element, so the plugin declares isDesktopOnly.

If you also use another plugin that handles HTML files, only one of them can own the extension. Run Take over HTML files to switch back to this one, or disable the other plugin.

Disclosures

  • Files outside the vault. The plugin only loads the file you open, and that file lives in your vault. A page can reference resources outside the vault, exactly as it would in a browser, because it is rendered as a real page.
  • Network use. The plugin itself makes no network requests. A page you open can, if its own markup or scripts reference remote resources. This is inherent to rendering HTML faithfully, so only open pages you trust.
  • No telemetry, no ads, no account, no payment.

Security

Rendering HTML faithfully means the page's own scripts execute. Treat an HTML file the same way you would treat opening it in your browser, and do not open files from sources you do not trust.

Installation

From the community directory

Search for Local HTML View under Settings -> Community plugins -> Browse.

Manual

Copy main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/local-html-view/, then enable the plugin in Settings -> Community plugins.

License

MIT. See LICENSE.

HealthExcellent
ReviewSatisfactory
About
Open .html and .htm files in your vault as fully working pages without leaving Obsidian. Render scripts, styles, canvas and interactive elements in a webview or iframe, with reload/zoom controls and an option to open the page in your default browser.
HTMLFiles
Details
Current version
1.0.0
Last updated
2 weeks ago
Created
2 weeks ago
Updates
1 release
Downloads
154
Compatible with
Obsidian 1.4.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
AxeAxeatlas555
GitHubatlas555
  1. Community
  2. Plugins
  3. HTML
  4. Local HTML View

Related plugins

Embed HTML

Adds support for embedding HTML files.

Notebook Navigator

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

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Local REST API with MCP

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

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Quick Explorer

Perform file explorer operations (and see your current file path) from the title bar, using the mouse or keyboard.

QuickAdd

Quickly add new notes or content to your vault.

Omnisearch

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