Skip to content
Switch branches/tags
Go to file

Latest commit


Failed to load latest commit information.

Roam Note Exporter

This is a program to take a Roam Research EDN export and convert it into web pages. I'm currently using this to populate the notes section of my website.


  • Selective export: Include and exclude pages based on presence of tags in each page
  • Optionally omit lines that only contain links/tags to pages that aren't included.
    • So tag-only lines like #Articles #Done #Thinking don't clutter up the page.
  • Support block references, block embeds, and page embeds.
  • Supports output templates: complete HTML page, text with front matter, or anything else!
  • Gathers hashtags in a page for use in the output template
    • This is configurable to use either a specific "Tags" attribute, or hashtags anywhere in a page.
    • Tags can be excluded


Primary configuration is through a TOML file. You can find an annotated config file here and modify it for your needs.

The program also supports command line arguments to override settings in the config file. export-roam-notes --help will show the arguments available.

Notable features planned

  • Option to only export pages with a certain tag
  • When a page links to another exported page, the output contains a link.
  • Expands block embeds
  • Link block references to original block
  • Translate namespaces into nested directories
  • Option to show backlinks at bottom
  • Autodownload a Roam EDN export file. I might just make it work with roam-to-git for this.


  • edn-rs for the core EDN parsing
  • nom for making it easy to write custom parsers
  • The Svelte syntax file is imported from


Export notes from Roam to HTML for blog inclusion





No packages published