Murat1k downloadsLightweight mobile-first web viewer for Obsidian with search, history, bookmarks, and quick note capture.
Need this adapted, extended, or built from scratch? I wrote this plugin — custom work available. Working proof first, payment after.
Mobile Webviewer is a lightweight, mobile-first web viewer for Obsidian.
It now has two clearly named modes:
webview page stays loaded behind it for
real browser navigation and can be switched in with Note/Web/Split controls.
Edited text and doodles auto-save into plugin data. Use 存 MD when you
want to add a Markdown file to the vault.
On mobile it uses a full-height browser layout with the Obsidian pane header
hidden and the bottom toolbar floating over the page instead of shrinking the
webview.target=_blank and window.open in the
Chromium webview and routes them to browser tabs, so page jumps behave more
like Chrome/Edge instead of falling back to the home shell.Mobile Webviewer.md with HTML
elements rendered inside the note. The plugin enhances that note with a
Bing-like lightweight search shell, editable web-note foreground, live web
backend,
bookmarks bar, cache, downloads, history, and More menu. NoteDraw buttons are
deduped so Mobile Webviewer surfaces keep one visible magic-wand launcher
while still using NoteDraw's real page controller behind it.NoteWeb is meant to be the best Markdown view of a web page you can get inside Obsidian, so it does not try to reimplement article extraction. It runs two production-grade libraries, both of them the same ones a browser reader mode would use:
There are two extraction passes, and which one runs depends on what the site allows:
baike.baidu.com
answers a programmatic request with HTTP 403 "百度安全验证", and sites such as
36kr.com, mp.weixin.qq.com and bilibili.com ship an empty app shell that
only fills in once scripts run. For those, the same Readability build is
injected into the live Chromium guest and reads the document the user is
actually looking at — which is exactly what Edge's reading view does. The
result comes back as HTML and is converted to Markdown on the host.NoteWeb switches to pass 2 automatically whenever pass 1 hits a bot wall or returns too little text to be worth rendering, and it waits for the guest to finish loading before reading it. Reader mode therefore works on the first open of a page, not only after a manual refresh.
read: — open a page straight in the readerType or paste read: in front of an address, exactly like Edge:
read:baike.baidu.com/item/玉泽演/102526
read:https://example.com/a/long/article?x=1
read:量子计算
The page opens as a Markdown note in NoteWeb and never bounces into the raw Web
surface. read:, read: (full-width colon) and READ : all work, and what
follows can be a bare host, a full URL or a search phrase. The prefix is an
instruction to the plugin — it is stripped before the address reaches the
webview, the tab records, the history or the settings.
Platform note: pass 2 needs an Electron Chromium guest, which desktop Obsidian provides. On mobile Obsidian the guest is a cross-origin iframe whose DOM cannot be read, so only pass 1 is available there.
Copy these files into your vault:
.obsidian/plugins/mobile-webviewer/
manifest.json
main.js
styles.css
Then reload Obsidian and enable Mobile Webviewer in Community plugins.
Mobile Webviewer Notes with 存 MD. The export is the note as it
reads: an untouched page writes its converted Markdown byte for byte, and an
edited note is re-converted from the edited text - headings, GFM tables, task
lists, fenced code with language tags, links and image alt text all survive
instead of collapsing into one flat paragraph.read: prefix:
read:baike.baidu.com/item/玉泽演/102526.webview or iframe fallback, current
URL, loading state, back/forward availability, zoom, UA mode, and download
folder..url shortcut file.obsidian://mobile-webviewer?url=https%3A%2F%2Fexample.com.Mobile Webviewer exposes a versioned API at
app.plugins.plugins["mobile-webviewer"].api. Cancip uses this API before
falling back to generic plugin commands or a second network fetch.
The API can read the active Browser View or Note Browser embed, including the
current URL, title, selected text, edited reader text, extracted images and
links. It also opens URLs, lists/creates/switches/closes web tabs, toggles
bookmarks, adds reading-list entries, sends structured context to Cancip, and
publishes navigation/tab/list events through subscribe.
const api = app.plugins.plugins["mobile-webviewer"].api;
const status = api.getStatus();
const page = await api.getCurrentContext({ includeContent: true });
await api.open({ url: "https://obsidian.md", newTab: true });
await api.sendToCancip({ prompt: "总结这页", submit: false });
sendToCancip attaches context and prepares an optional prompt. It does not
submit a model request unless submit: true is explicitly supplied. The API
version is independent from the plugin version so clients can negotiate future
changes without parsing release numbers.
Mobile Webviewer: Open Note BrowserMobile Webviewer: Open Note Browser HomeMobile Webviewer: Open URL in Note BrowserThe plugin uses a dual-layer model. The foreground is an editable Obsidian-like
web note extracted from the page, suitable for reading, editing, highlighting,
and doodling. The background keeps the complete browser page alive with
Electron Chromium webview when Obsidian exposes it, falling back to iframe
where needed. Note/Web/Split controls switch between the editable note, the
real page, and both together. More contains power actions such as system-browser
open, copy link, bookmark, reading list, history, downloads, matched user
scripts, browser-status inspection, console, QR code, and cache management.
Downloads are saved under Mobile Webviewer Downloads by default and can be
configured in settings. The home shell expands to the available mobile screen
and avoids browser suggestion overlays that can cover the keyboard.