kazys varnelis2k downloadsDistraction-free writing mode with paper container, book page sizes, point-size type controls, zoom, and adjustable background.
A distraction-free writing mode for Obsidian that turns the editor into a paginated, paper-like page. Designed for long-form writing where you want to see your text the way it will eventually print, without chrome, sidebars, or line-length surprises.

⚠️ New and experimental. This is a young plugin. It has primarily been tested with the Minimal theme on desktop. Other themes may produce visual quirks around image embeds, page-gap bars, or text column sizing. Bug reports welcome — please include your theme name and a screenshot.
zoom to magnify without reflowing, so page breaks stay stable while you scale up or down.| Setting | Default | Notes |
|---|---|---|
| Paper size | Letter | Trade 6 × 9, Academic 7 × 10, Letter, or A4. Controls the page surface aspect ratio. |
| Show page breaks | On | Visible gray bar between pages; long prose paragraphs can split at word boundaries. |
| Words per page | 400 | Legacy target retained for compatibility. Current pagination is based on measured page geometry. |
| Page gap height | 60 px | Height of the gray gap between pages. |
| Default paper width | 90% | Percentage of viewport width the page occupies. |
| Max paper width | 1400 px | Absolute cap on page width. Prevents the page from ballooning on large external monitors. |
| Image width | 100% | Width of embedded images as a percentage of the text column. Centers automatically below 100%. Per-image overrides via ![[img.jpg|400]] still work. |
| Type size | 12 pt | Body text size in typographic points. Typical manuscript text is 12 pt; printed book interiors often land around 10–11 pt. |
| Side margin | 1.25 in | Left/right margin between paper edge and text column. Small book trims cap overly large margins to preserve a readable text block. |
| Top/bottom margin | 1.0 in | Vertical margin on each page. Small book trims cap overly large margins to preserve usable page depth. |
| Default background | 35% | 0 = light, 100 = near-black. |
| Enable debug mode | Off | Writes verbose pagination logs to working/composition-mode-page-break-debug.md. |
Add either marker on its own line to force a page break before the next block:
<!-- pagebreak -->
or:
%%pagebreak%%
main.js, manifest.json, and styles.css from the latest release.<your vault>/.obsidian/plugins/composition-mode/.Mod + Shift + C works well).All commands appear under the "Composition Mode:" prefix in the palette.
See CHANGELOG.md.
MIT — see LICENSE.