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

Markdown to JSON

Meghan LendheMeghan Lendhe36 downloads

Copy a Markdown note as structured JSON blocks to the clipboard.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

Copy a note written in Obsidian (Markdown) into structured JSON blocks, optimized to be pasted into the companion Figma plugin that generates separate text layers for fast case study page layout.

  • Command: Copy Markdown as JSON blocks
  • Plugin ID: md-to-json
  • Author: Meghan Lendhe — https://meghan-lendhe.github.io/

What it does

  • Adds a command in Obsidian’s Command Palette to export the current note as JSON.
  • Converts Markdown into ordered blocks:
    • Headings (# … ######) → h1–h6
    • Body → each non-empty line becomes its own block
    • Bullets (-, *, +) → each bullet becomes its own block

Companion plugin (Figma)

This exporter is intended to be used with:

  • JSON to Text (Figma Plugin): https://github.com/meghan-lendhe/json-to-text

Output format

The plugin copies JSON like:

[
  { "type": "h1", "level": 1, "text": "Title", "id": "h1-0" },
  { "type": "h2", "level": 2, "text": "Overview", "id": "h2-1" },
  { "type": "body", "text": "Problem: ...", "id": "body-2" },
  { "type": "body", "text": "Time: 14 weeks", "id": "body-3" },
  { "type": "list", "text": "A bullet item", "id": "list-4" }
]

Block fields

  • type (required): h1–h6 | body | list
  • level (optional): 1–6 (for headings)
  • text (required): string content for that line/item
  • id (required): identifier generated during export (useful for ordering and potential “update” flows later)

How to use

  1. Open your case study note in Obsidian.
  2. Press Ctrl + P to open Command Palette.
  3. Run: Copy Markdown as JSON blocks
  4. Open Figma → run the JSON to Text plugin.
  5. Paste JSON into the plugin UI and click Import.

Installation (manual)

  1. Build the plugin (see Development).
  2. Copy the built files into your vault:

<YourVault>/.obsidian/plugins/md-to-json/

Files needed:

  • manifest.json
  • main.js

This matches the common layout used by the Obsidian sample plugin template.

  1. In Obsidian: Settings → Community plugins → enable Markdown to JSON.

If .obsidian/plugins doesn’t exist yet, create it.


Development

This project was bootstrapped from the Obsidian sample plugin template (TypeScript → compiled main.js).

Prerequisites

  • Node.js + npm
  • Obsidian desktop app

Install

npm install

Dev build (watch)

npm run dev

Production build

npm run build

After rebuilding, reload the plugin in Obsidian (toggle it off/on) to pick up changes.


Parsing rules (current)

  • Headings: #{1,6} Heading → a heading block (h1–h6)
  • Body: each non-empty line that isn’t a heading or list item → body
  • Lists: - item / * item / + item → list
  • Empty lines are ignored

Known limitations

  • Markdown styling isn’t preserved (bold/italic/links are exported as plain text).
  • Tables, callouts, embeds, and images aren’t converted.
  • IDs are generated during export; editing the note can change ordering/IDs.

83%
HealthExcellent
ReviewSatisfactory
About
Export the current Obsidian note as structured JSON blocks optimized for the companion Figma plugin. Convert headings into h1–h6 blocks, split non-empty lines into body blocks, turn bullets into list blocks, and copy the JSON to the clipboard.
ExportJSONMarkdown
Details
Current version
1.0.0
Last updated
4 months ago
Created
4 months ago
Updates
1 release
Downloads
36
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
0BSD
Report bugRequest featureReport plugin
Author
Meghan LendheMeghan Lendhemeghan-lendhe
github.com/meghan-lendhe
GitHubmeghan-lendhe
  1. Community
  2. Plugins
  3. Export
  4. Markdown to JSON

Related plugins

Marp Slides

Create Marp presentations.

markdown export

Export Markdown to a package, including images.

Importer

Import data from Notion, Evernote, Apple Notes, Microsoft OneNote, Google Keep, Bear, Roam, and HTML files.

Outliner

Work with your lists like in Workflowy or Roam Research.

Various Complements

Complete words similar to auto-completion in an IDE.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Fantasy Statblocks

Create, manage and view a Fantasy Bestiary with Dungeons and Dragons style statblocks.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Auto Link Title

Automatically fetches the titles of links from the web.

Chronos Timeline

Render interactive timelines inline in your notes from simple markdown