allberry39 downloadsHide empty Properties rows in Markdown editing views without changing note data.
English | 简体中文
A lightweight Obsidian plugin that hides empty properties in the Properties UI while preserving Markdown and YAML frontmatter unless you explicitly delete a property.
Templates and structured note systems often contain many optional properties. Compact Empty Properties keeps those empty rows visually collapsed while preserving the underlying frontmatter.
null, empty arrays ([]), and empty objects ({})false, 0, and non-empty values visibleShow hidden properties (N) reveal toggleDelete from this note action uses Obsidian's public frontmatter APIDelete from this note actionScreenshots will be added after a public, non-personal UI capture is approved. No private Vault screenshots are included.
For manual installation, copy these files into your Vault's plugin directory:
main.js
manifest.json
styles.css
Destination:
<vault>/.obsidian/plugins/compact-empty-properties/
Then open Settings → Community plugins, enable Community plugins if needed, and enable Compact Empty Properties manually.
With the default setting enabled, empty Properties rows are hidden. Click Show hidden properties (N) to temporarily reveal Properties hidden by Auto, Note, folder, or Vault rules; click Hide properties to apply the rules again. The reveal is UI-only and never writes to the note.
Use Settings → Compact Empty Properties → Property visibility for Vault-wide Auto, Show, and Hide rules. For quick note-level changes, Option-click a Property name on macOS or Alt-click it on Windows/Linux, then choose Hide, Show, or Delete from this note. Reset scoped rules in the Scoped rules section of Settings to restore inheritance.
To reorder Properties, use the Reorder properties Command Palette command or choose Reorder properties… from the Option/Alt-click menu. Choose This folder or This vault, drag the handles, then select Done. The order is stored in the plugin settings and never written to YAML/frontmatter. Configure decorative icons in Settings → Compact Empty Properties → Property icons; icons are selected from Obsidian's runtime icon list and can be reset to the native/default presentation.
| Value | Hidden? |
|---|---|
| Empty string | Yes |
null |
Yes |
[] |
Yes |
{} |
Yes |
false |
No |
0 |
No |
| Non-empty string | No |
| Non-empty array/object | No |
Delete from this note deliberately removes the selected top-level frontmatter key through Obsidian's public APInpm install
npm test
npm run check
npm run build
node --check main.js
See docs/dom-audit.md for the DOM and lifecycle notes.
MIT