Obsidian Frontmatter Tool – Desktop GUI for Batch Editing & Validation

Title: Obsidian Frontmatter Tool – Desktop GUI for Batch Editing & Validation

Hello everyone,

I’d like to share a standalone desktop utility built with PySide6:
Obsidian Frontmatter Tool – a modular, cyberpunk-themed GUI to view, edit, and batch-process YAML frontmatter in Markdown files.

Key Features:

File explorer with context menu actions
Editable frontmatter table with type detection (text, list, number, checkbox, date)
Batch actions: write/rename/delete keys, validate values, delete files by condition
Visual logging with color-coded output
Dry-run support for safe testing
Designed with Obsidian vaults in mind – but fully standalone

Currently under active development. Planned features include autosave, validation tools, async execution, and more.
Check the TODO list for roadmap details.

:link: GitHub Repository

Feedback and contributors welcome!

3 Likes

Hello! Thanks for such a great solution. With the Bases system, I really needed a way to regularise a bunch of properties across all my notes, and your app came along just in time to help. I renamed a whole lot of properties much much faster than I could do by hand.

If you had a version with English UI that would make it easier, but I managed with just pointing my phone at the screen and using Google Translate. I know a reasonable amount of basic German, but the formal use is much less familiar to me!

Danke schön!

Nic

Hi Nic,

thank you so much for your kind words – I really appreciate the feedback! I’m glad to hear the tool was helpful, especially for managing large-scale changes in your notes with the Bases system.

Good news: the interface language can now be changed! You’ll find an option in the settings to switch to English, so no more pointing phones at the screen :blush:

Thanks again, and feel free to reach out if you have any suggestions or encounter issues.

Best regards
Sascha

The user interface language is set to English by default.
Changing the GUI language during runtime is not possible due to a bug in the PySide6 library. I hope they release a fix soon.

The user interface language is set to English by default.

You can change the language at any time while the program is running via the Language menu (at the top menu bar), switching between English and German.

Manual editing of the main.py file is no longer necessary.