What framework did the developer use to create Obsidian desktop application?

I’m just curious. Despite being only 1 person, the founder and main developer of the software is pushing releases across all 3 platforms (Windows, Linux and MacOS) consistently. He must be using some sort of desktop framework in order to push this out simultaneously right?

I don’t think he’s using any web-based framework either like Electron that runs on the Chromium engine. Because if that’s the case then there would already be a web-based version of this app. It also helps for me to decide on which framework to build my future application in next because I plan to make a cross-platform stand-alone desktop application like Obsidian is.

1 Like

There are two developers, two cats and a baby:
see: About - Obsidian


You are wrong, it does use Electron powered by Chromium under the hood. And I think there is some shared codebase between Obsidian, Obsidian publish and Obsidian mobile

I wonder what they use to render the markdown as HTML?

CodeMirror: https://codemirror.net

that’s the editor. Does it also take care of the conversion from markdown to HTML?

Sorry, I guess I’m not sure.

From Licat’s post, i presume the devs is using prism.js for rendering the reading view.

That’s just for syntax highlighting in code blocks.


I think I can borrow this topic for my question.

I’d like to know what JavaScript framework (e.g. Vue, React) Obsidian desktop application is using for creating the user interface? I’m a plugin developer and I’m looking for a framework to make it easier to create advanced UIs for settings. The best solution would be if Obsidian is already using some JS framework, so I would not have to bloat my plugin by including a framework in it.

A simple example about what I’m looking for in a UI framework is the ability to change displayed text just by changing the value of a variable. I created a JSFiddle example on Vue: Vue: Change displayed text when variable changes - JSFiddle - Code Playground

I don’t know if this has been asked before. I tried to search from both the forums and Discord, but did not find.

None, it’s all custom.

You can find the list of all third party libraries we are using here: https://help.obsidian.md/Obsidian/Credits#Third+party+acknowledgements