On Obsidian for Android, inline HTML embedded in a .md file displays as raw source text (unrendered) when the note is first opened. The HTML only renders correctly after the user scrolls to the very bottom of the note. Once the bottom is reached, the entire note re-renders and the HTML displays as expected. If the note is closed and reopened, the bug reproduces — raw HTML again until scrolled to bottom.
Steps to reproduce
- Create a .md note containing inline HTML (no markdown code fences). Example: a with inline CSS styles, containing styled tables, flexbox layouts, etc.
- Sync the note to a vault accessible on Android
- Open the note in the Obsidian Android app
- Observe: the HTML block displays as raw source text
- Scroll to the very bottom of the note
- Observe: the HTML now renders correctly
- Close the note, reopen it — bug reproduces from step 4
Expected result
Inline HTML in a markdown note renders immediately when the note is opened, same as it does on desktop.
Actual result
Inline HTML displays as raw source text. Rendering only triggers after scrolling to the bottom of the note.
Workaround
Scroll to the bottom of the note to force rendering.
Environment
- Obsidian Mobile: 1.12.7 (303)
- Android version: 15
- View mode: Reading view and Live Preview
- Sync method: Obsidian Sync
Additional notes
The HTML in question uses only standard elements (div, table, span, h2, p, inline style attributes, CSS flexbox, CSS linear-gradient). No JavaScript, no iframes, no external resources. The same note renders immediately on Obsidian desktop (macOS).
Suspect this may be related to the Android WebView lazy-parsing HTML blocks that are injected into the DOM rather than loaded as a full page. Scrolling to the bottom likely forces a full layout pass that triggers proper rendering of the entire document.