Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Nested Frontmatter Properties

copperboxcopperbox517 downloads

View and edit nested frontmatter properties, such as arrays of objects, directly in the Properties panel.

Add to Obsidian
Nested Frontmatter Properties screenshot
  • Overview
  • Scorecard
  • Updates9

View and edit nested frontmatter properties — arrays of objects and nested objects — directly in Obsidian's Properties panel, instead of the stock "unsupported type" warning showing raw text.

What it does

---
title: My book note
authors:
  - name: Ann Author
    pages: 320
  - name: Ben Writer
    pages: 12
meta:
  draft: true
---

Without the plugin, Obsidian's Properties panel shows those values as raw text with an "unknown type" warning:

Properties panel without the plugin: authors and meta shown as raw JSON with unknown-type icons

With the plugin, the same authors and meta properties render as indented, editable rows:

Properties panel with the plugin: nested name/pages rows per author, a draft checkbox, and add-property/add-item buttons

Values Obsidian already supports (text, lists of scalars, numbers, dates, checkboxes) are never touched.

  • Edit leaf values inline (text, number, checkbox inferred from the current value)

  • Add and remove array items and object keys, choosing text, object, or list for each new value:

    Inline add-property form inside an array item, with a key input and text/object/list type buttons
  • Everything is written back through Obsidian's public frontmatter API

How this differs from Nested Properties

The Nested Properties plugin covers similar ground with a larger feature set (vault-wide key renames, type conversion, collapsible trees). This plugin is an independent, from-scratch implementation with a different goal: the smallest possible trusted surface. It ships under 10 KB with no bundled framework, no Electron or Node API references, and a CI gate that keeps it that way.

Design principles

This plugin is deliberately minimal, built to carry zero automated risk flags on the community plugin store:

  • No network access, no telemetry, no dynamic code (eval), no clipboard or localStorage access, no Electron or Node APIs. Works on mobile.
  • All writes use the public processFrontMatter API. No YAML library is bundled; Obsidian does all parsing and serialization.
  • One runtime dependency: monkey-around (~1 KB), used to wrap a single method reversibly.
  • CI enforces the above: every build greps the shipped bundle for forbidden tokens (ipcRenderer, eval, innerHTML, fetch, …) and fails if any appear. Releases carry GitHub build provenance attestation.

Undocumented API notice

Obsidian has no public API for custom property widgets. To render inside the native Properties panel, this plugin registers a widget in metadataTypeManager.registeredTypeWidgets and wraps getTypeInfo so values the stock UI marks unsupported resolve to it. This is plain in-renderer JavaScript at the same privilege level as any plugin code — it grants no access beyond the plugin sandbox. Every internal access is feature-detected: if a future Obsidian update changes these internals, the plugin deactivates itself and the stock behavior returns unchanged.

Installation

Until listed in the community store: copy main.js, manifest.json, and styles.css from the latest release into <vault>/.obsidian/plugins/nested-frontmatter-properties/.

Development

npm install
npm run dev      # watch build
npm test         # unit tests (pure edit/detect logic)
npm run build    # typecheck + production build + bundle token check
HealthExcellent
ReviewPassed
About
Edit nested frontmatter (arrays of objects and nested objects) directly in Obsidian’s Properties panel with indented, editable rows and inline leaf editing for text, numbers and checkboxes. Add or remove array items and object keys and write changes back through Obsidian’s public frontmatter API while keeping a minimal, low-risk footprint.
PropertiesEditing
Details
Current version
1.0.1
Last updated
3 weeks ago
Created
3 weeks ago
Updates
9 releases
Downloads
517
Compatible with
Obsidian 1.13.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
copperboxcopperbox
GitHubcopperbox
  1. Community
  2. Plugins
  3. Properties
  4. Nested Frontmatter Properties

Related plugins

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

MetaEdit

Manage your metadata.

Fold Properties By Default

Always have editor/metadata properties folded by default

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Outliner

Work with your lists like in Workflowy or Roam Research.

Hover Editor

Transform the Page Preview hover popover into a fully working editor instance.