0skater015k downloadsEffortlessly change the line width of each note individually. Provides multiple ways to customize the experience, making it both efficient and user-friendly to adjust line widths.
Control the line width of every note in Obsidian — individually, per note, or globally. A small control in the status bar gives you instant access, YAML frontmatter persists widths per note, and a new Pills mode lets you switch between presets with a single click.

%, px, chmain.js, manifest.json and styles.css from the latest release<vault>/.obsidian/plugins/custom-note-width/Requirement: Obsidian's Readable line length setting must be enabled (Settings → Editor → Readable line length).
The plugin modifies Obsidian's --file-line-width CSS variable. Control it three ways:
| Method | Best for |
|---|---|
| Status-bar control (slider or pills) | Quick adjustments while reading/editing |
YAML frontmatter (custom-width: 60) |
Persisting a specific width per note |
| Commands (palette / hotkeys) | Power users, keyboard-driven workflows |
Switch units via the unit label next to the slider/value (slider mode) or inside a preset editor (pills mode).
Enable under Settings → Control mode → Pills. The status bar shows three buttons with your configured preset values. Click to apply. The button matching the currently applied width is highlighted; no button is active when the width is a custom value.
| Setting | Description | Default |
|---|---|---|
| Language | Plugin UI language (Auto / English / Deutsch) | Auto |
| Enable slider | Shows the width control in the status bar | on |
| Control mode | Slider (draggable) or Pills (three preset buttons) | Slider |
| Slider width (Slider mode) | Horizontal size of the slider in pixels | 85 |
| Pill preset 1–3 (Pills mode) | Value and unit per preset | 30% / 50% / 100% |
| Enable text field | Numeric input next to the slider | on |
| Default width unit | Unit used for the global default width | % |
| Default width | Width applied when a note has no per-note width | 50 |
| % range | Min / max for percentage unit | 0 / 100 |
| px range | Min / max for pixel unit | 100 / 4000 |
| ch range | Min / max for character unit | 10 / 200 |
| Enable per-note width | Store widths in YAML frontmatter | on |
| YAML front matter key | Key used for per-note widths | custom-width |
| Enable code block width | Give code blocks an independent width | off |
| Code block width unit | Unit for code block width | px |
| Code block width | Size applied to code blocks | 800 |
| Reading mode | Apply code block width in preview | on |
| Source mode | Apply code block width in source view | on |
| Live preview mode | Apply code block width in live preview | on |
All commands appear in the palette and can be bound to hotkeys under Settings → Hotkeys (filter: Custom Note Width):
| Command | Action |
|---|---|
| Change the width of the open note | Opens a modal, applies width to current note |
| Change the default note width | Opens a modal, updates the global default |
| Change the width for all notes | Opens a modal, rewrites every note's YAML width |
| Apply pill preset 1 / 2 / 3 | Applies the given preset (Pills mode only) |
Disclaimer: The plugin modifies
--file-line-width. Custom themes may override this variable; there is no guarantee the plugin works with every theme.
| Theme | Status | Obsidian Version | Notes |
|---|---|---|---|
| Default | Works | 1.12.4 | Fully functional |
| Things | Works | 1.12.4 | Fully functional |
Your theme isn't listed? Open a PR adding a row — see CONTRIBUTING.
Please include:
Settings → General)Settings → Community plugins)Settings → Appearance → Themes)Ctrl+Shift+I / Cmd+Option+I), Console tab, copy anything red referencing custom-note-widthReports that only say "it doesn't work" can't be investigated — details make the difference.
Always keep backups of your vault. The plugin writes to YAML frontmatter; bugs are possible. Protect your data.
See CONTRIBUTING.md for development setup, code style, and the PR process.
MIT — provided as-is, no warranty.