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!

4 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

1 Like

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.

You’re welcome! I’ve mentioned the app a couple of times on the discord server, hopefully it will get some wider use!

Thanks for updating the language options :slight_smile:

Nic

1 Like

Next week I have some time and will completely rework the UI, because some functions are redundant or not functional and some options are lost in the current design, and you have to guess what the UI widgets are for…

1 Like