Get AI summaries of any video or article — Sign up free
EASY Roam to Tana Migration thumbnail

EASY Roam to Tana Migration

CortexFutura Tools·
5 min read

Based on CortexFutura Tools's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Use “Export all” in Roam and choose “Json” to preserve multi-layer link relationships; avoid flat “export” output.

Briefing

Migrating a Roam Research graph into Tana is presented as a fast, low-friction process—provided the export/import settings preserve link structure. The core workflow is to export the Roam graph as a full JSON bundle (not a flat export), then import that JSON into Tana via the import content flow. Done correctly, Tana brings over the graph as a separate workspace containing nodes, backlinks, and most content formatting, while leaving the user’s existing Tana graph untouched.

The transcript walks through a practical example of a Roam daily-page graph: daily notes with linked pages, question/claim/evidence structures, bold inline references, imported Readwise content with attributes (author, title, tweet text, image link), and even a local-image case where the asset exists only on the user’s machine. In Roam, the export step is the critical hinge. Using the three-dot menu, the user must choose “Export all,” then select “Json,” and export the full bundle. The alternative—choosing “export” instead of “export all”—produces a flat export that loses the multi-layer link relationships between pages.

After unpacking the exported zip, the import happens in Tana through the gear menu: “import content,” then selecting “roam.” Tana prompts for the JSON file and shows counts such as total nodes and leaf nodes before importing. The import is described as stable, though duration depends on graph size.

Once imported, Tana creates a new workspace (named by the user) rather than overwriting the main graph. Inside that workspace, daily nodes are tagged and organized under a calendar node, with daily entries linking to the same related pages that existed in Roam. Pages from Roam become nodes in Tana, and Roam “attributes” become Tana “fields.” Inline formatting like bold is carried over, and backlinks translate cleanly—so references that Roam maintained as link-based relationships remain navigable in Tana.

Not everything transfers perfectly. Some Roam extension features don’t map cleanly into Tana’s current model. For example, content imported from the Discourse Graph extension retains question/claim/evidence links, but the deeper semantic relationships tied to that extension may not transport as expected, requiring manual rework. Another limitation is local assets: images that were local to Roam don’t import, resulting in empty pages when clicked in Tana.

To integrate imported content into the main Tana graph, the transcript describes enabling cross-workspace content access. In the main graph, the user must allow content from the imported workspace, then search and reference nodes from that library. Content can also be moved into the main workspace node-by-node, making it easy to rework and extend the migrated material.

Overall, the migration is framed as under 10 clicks if the export is done correctly and the user understands what maps (nodes, fields, backlinks, most formatting) versus what doesn’t (extension-specific semantics and local images).

Cornell Notes

Roam-to-Tana migration works best when the Roam export preserves link structure: choose “Export all” and export as “Json,” not a flat export. Tana imports the JSON into a new workspace, keeping the main graph safe while translating Roam pages into Tana nodes and Roam attributes into Tana fields. Backlinks and inline formatting like bold carry over, and daily notes appear under a calendar with tagged daily nodes. Some items don’t translate perfectly—especially Discourse Graph extension semantics and local images—so those may require manual cleanup. Imported content can then be referenced from the main graph (after enabling workspace access) or moved into the main workspace for further editing.

Why does “Export all” matter more than “export” when moving from Roam to Tana?

“Export all” preserves the multi-layer link relationships between Roam pages. Choosing the simpler “export” produces a flat export that doesn’t retain the connections across layers (links two or three levels down). The transcript emphasizes selecting “Export all,” then “Json,” so Tana can reconstruct the graph structure rather than importing disconnected blocks.

What does Tana create after importing a Roam graph, and how is it organized?

Tana imports the Roam content into a separate workspace rather than overwriting the existing main graph. That workspace includes a calendar node with daily nodes tagged under it. Daily notes link to other pages from the Roam graph, mirroring the original daily-page relationship structure.

How do Roam “pages,” “attributes,” and backlinks map into Tana?

Roam pages become nodes in Tana (Tana doesn’t use “pages” as a separate concept the way Roam does). Roam attributes become Tana fields, so metadata such as author/title and other attribute values show up as fields on the corresponding nodes. Backlinks translate as well, so references that worked in Roam remain navigable in Tana.

What formatting and content elements transfer cleanly, and what doesn’t?

Inline formatting like bold is copied over, including bolded checklist-style or inline reference content. However, Roam extension-specific behavior may not translate perfectly. The transcript notes that Discourse Graph extension semantics (question/claim/evidence relationships) may require rework because Tana doesn’t retain all extension-driven relationship logic.

What happens to images that were local assets in Roam?

Local images that exist only as assets on the user’s machine don’t import. In Tana, the node may still link to where the image would be, but clicking can lead to an empty page because the image isn’t available in the online version of Tana.

How can imported library content be used inside the main Tana graph?

Imported content lives in its own workspace (a library). To search and reference it from the main workspace, the user must enable content access: open the main node options and allow content from the imported workspace. After that, searching in daily notes can surface nodes from the library, and content can be moved into the main workspace when desired.

Review Questions

  1. When migrating, what specific export choices in Roam prevent link relationships from being lost in Tana?
  2. Which Roam concepts map directly to Tana nodes and fields, and which two categories of content are likely to need manual attention after import?
  3. How does enabling cross-workspace content access change what appears when searching from the main Tana graph?

Key Points

  1. 1

    Use “Export all” in Roam and choose “Json” to preserve multi-layer link relationships; avoid flat “export” output.

  2. 2

    Import the resulting JSON into Tana via the gear menu using “import content” → “roam,” then import into a new workspace.

  3. 3

    Expect Roam pages to become Tana nodes and Roam attributes to become Tana fields, with backlinks translating cleanly.

  4. 4

    Plan for imperfect translation of extension-driven semantics (e.g., Discourse Graph extension relationships) and be ready to rework them.

  5. 5

    Local Roam images that aren’t available online won’t import; they may produce empty pages when clicked in Tana.

  6. 6

    To use imported content in the main graph, enable workspace content access and then reference or move nodes into the main workspace.

Highlights

The migration hinges on Roam’s “Export all” + “Json”; a flat export breaks deeper link structure.
Tana imports Roam into a separate workspace, so the main graph remains intact while nodes, fields, and backlinks come across.
Bold formatting and inline references transfer, but Discourse Graph extension semantics may not fully survive and can require rework.
Local-only images don’t import; links can resolve to empty pages because the asset isn’t available in Tana’s online context.

Topics

  • Roam to Tana Migration
  • Graph Export
  • JSON Import
  • Workspace Library
  • Attributes to Fields