0skater024k 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% |
| Value display in status bar | Editable input, read-only text, or hidden for a slider-only status bar | Editable |
| Show unit selector in status bar (slider mode) | Show the unit dropdown (%, px, ch) next to the slider; off keeps the unit fixed | 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 | Let notes have their own width instead of the global default | on |
| Where per-note width is stored (per-note mode) | Frontmatter (in the note), Local (kept in the plugin, note untouched), or View only (kept until the note is closed) | frontmatter |
| Reset local width overrides (local mode) | Removes every per-note width you have stored locally | button |
| YAML front matter key | Frontmatter key used to store the per-note width | 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 |
| Diagnostics | Create an anonymised diagnostics report for a bug report | button |
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) |
| Create diagnostics report | Writes an anonymised diagnostics.json, copies it to the clipboard, and reveals it |
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.
The fastest way to get a width bug fixed is to include a diagnostics report:
Ctrl+P / Cmd+P, then search "Custom Note Width"), or click the button under Settings → Custom Note Width → Diagnostics.diagnostics.json in the plugin folder, and the folder opens with the file highlighted.Also helpful:
Ctrl+Shift+I / Cmd+Option+I), Console tab, copy anything red referencing custom-note-width.Reports that only say "it doesn't work" are hard to investigate. The diagnostics report makes the difference.
The report is written to diagnostics.json in the plugin folder, copied to your clipboard, and revealed in your file manager. You can read it before sharing it. It is designed to describe your setup without describing your notes.
What it contains:
main.js, manifest.json, styles.css) with sizes and SHA-256 hashes, plus whether styles.css is loaded and its versionmax-width (selector, value, origin such as app/theme/snippet/plugin, and whether they use !important)What it never contains:
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.