Migration & Import

Your world should outlive the tool you built it in.

Bring your worldbuilding notes, campaign notes and structured data. Review the mapping. Keep control of the result.

AvailableCore Importing files and moving from another tool are part of Core on every plan.

Conceptual source selector

Start with the material you already have.

SpreadsheetColumns become candidate fields. Rows become candidate entries.

You choose the entry type, name column and field mapping before creating draft entries.

WorkbookWorksheet data enters the same reviewed mapping flow.

The current implementation reads spreadsheet rows and columns, then leaves the conversion choices with you.

Plain documentText can be proposed as structured entries.

Have Vitus read the document and it suggests entries and changes, each with the words from your document behind it. Anything it cannot find in your text arrives unticked. You decide before anything is written. Reading a document uses Vitus Credits.

Word documentReadable document text becomes reviewable proposals.

The document stays in your world as a file you can reuse. PDFs can be added as files but cannot be read for entries yet.

Moving from another toolObsidian, Notion and World Anvil have their own importers.

Choose an Obsidian vault (or a zip of it), Notion's Markdown and CSV export, or World Anvil's Export World file. Vitus shows what the export contains, lets you set each entry's type and name, and asks what to do when a name already exists. Links and tags come across. This path uses no AI, costs no credits and works offline. World Anvil import has been tested with sample exports; tell us if yours does not come across cleanly.

Verified current implementation formats. This is an explanatory website model, not the Vitus interface.

Vitus's Move from another tool screen: choose Obsidian (a vault folder), Notion (Markdown and CSV export) or World Anvil (Export World .zip or .json). The Obsidian panel says notes become entries, with links, tags, frontmatter, folders and embedded pictures.
Moving from another tool in Vitus. Vitus changes nothing until you press Import.
Understand the source

Migration is interpretation, not copy and paste.

Vitus needs to understand what incoming information represents before it can become useful structured worldbuilding.

Incoming structure → interpreted structure

See what is recognised, suggested and left to you.

Recognised automaticallyColumn names and row values

Vitus can read the table structure. You still select the target entry type, name column and field mapping.

AvailableCore

Automation proposes. The creator decides.

Spreadsheet conversion itself is deterministic. An optional Vitus AI step can suggest matches between source columns and your existing fields, but it does not create entries or silently choose your canon.

For prose documents, AI-assisted extraction proposes named and described entities. Every proposal remains reviewable and becomes a follow-up draft only after confirmation.

  • Recognised: file type, columns, rows and readable prose
  • Suggested: optional column matches or prose entry proposals
  • User-selected: entry type, name, mappings and which proposals survive
  • Not silently converted: unsupported or unmapped values
Map the world

Decide where the information belongs.

Choose how a source column becomes a Vitus field, then inspect the draft result before creating entries.

Conceptual spreadsheet mapping

Source: characters.csv

Target entry type: Character

Draft preview

Elara Voss

Age
34
Tags
commander · exile
Needs follow-up · not confirmed canon

This example reflects the verified spreadsheet conversion model. Relationship lists and image-asset fields are not claimed as safe spreadsheet-text mappings.

Turning a spreadsheet into Vitus entries: each row becomes an Artifact, with spreadsheet columns matched to fields such as materials, creator and current owner.
The CSV/XLSX mapping panel with a reviewed conversion.
Review before you commit

The uncertain parts should stay visible.

Review concrete conversion limits and choices before they become draft entries. Vitus should not hide uncertainty behind a reassuring progress bar.

Inspect what happened and why.

What was found

A spreadsheet row has no usable name.

Why it matters: Vitus needs a name to create an identifiable entry.

Verified behaviour: The row is skipped rather than becoming an unnamed entry.

What was found

An imported name already exists.

Why it matters: importing should not overwrite existing material.

Verified behaviour: the new draft gets its own file name, so nothing existing is overwritten.

What was found

A text column targets an image or relationship-list field.

Why it matters: plain spreadsheet text cannot safely recreate those structures.

Verified behaviour: those field types are skipped by the current converter rather than guessed.

What was found

AI-assisted prose extraction proposed an entry.

Why it matters: extraction is lossy and a suggestion is not canon.

Your control: rename, re-type or remove the proposal before creating draft entries.

This inspector explains verified conditions and safeguards. It is not a claim that the product currently presents this exact warning interface.

A Markdown document of skald's notes attached to a Vitus world, with the panel Have Vitus read this document? showing the full text, its word count, a note that reading uses Vitus Credits, and a Read this document button. Nothing is saved until the creator says so.
A prose document attached to the world, before Vitus reads it. Reading is a separate, explicit step, and every suggestion is reviewed before anything is saved.
See the result before you trust it

Nothing is created until you choose to create it.

The current flows separate reading and review from the explicit action that creates draft entries.

Verified workflow boundary

Follow the information from source to draft.

  1. 01SourceKeep the original attachment
  2. 02ReadParse rows or extract text
  3. 03MapChoose fields or inspect proposals
  4. 04ReviewEdit, omit or confirm
  5. 05Create draftsExplicit final action

The original source is present. No Vitus entries have been created.

What this does not claim

This is not a promise of a universal dry-run transaction, one-click rollback or perfect recreation of another tool. After import, Vitus's normal local files and history/recovery systems apply to the entries you created.

Your world is still yours

Move into Vitus without moving into another lock-in.

Once imported entries become part of a Vitus world, they use the same local-first foundation as work created there from the beginning.

Resulting-world comparison

The format changes. Your control does not.

Stored attachmentcharacters.csv

Your source remains available as the reference material used for the reviewed conversion.

Core

Ordinary import is not a premium toll.

General import and competitor migration belong to Vitus Core. Local worlds and entries remain readable local files, and downgrading does not erase or lock away that local work.

Keep editing

Imported drafts become ordinary connected entries you can refine.

Keep history

Use Vitus's normal Git-backed history and recovery after the entries exist.

Export again

Standard and safe-to-publish export preserve the principle that your material can leave with you.

Bring the world

Review the mapping. Keep the result.

Explore the wider local-first platform or join the beta and help shape the complete migration workflow.