Roll20 import
Import Roll20 Character Vault JSON or CSV and understand which character fields become Campaign Familiar NPCs.
What you need
Roll20 import reads a character export file in one of two formats:
- Character Vault JSON - Roll20’s own character export
- CSV - a character-sheet export with columns for name, stats, bio, and so on
Export your characters from Roll20 first, then point Campaign Familiar at the file.
What imports
| Roll20 Content | Campaign Familiar Creation | Notes |
|---|---|---|
| Characters | NPC creations | Name, bio (as description), class/race (as role), and combat stats when present |
That’s the whole list. Roll20 exports are characters only - there’s no location, encounter, item, or map data in them - so the import creates NPCs and nothing else.
- Stats (AC, HP, speed, challenge rating) come across when the export includes them.
- GM notes are brought in as secrets on the NPC.
- Class and race become the NPC’s role (for example, “Dwarf Fighter”).
Re-importing the same Roll20 export doesn’t pile up duplicates - the Master Library recognizes the source and only adds what’s new. And Assign to Campaign is idempotent, so assigning the same character to a campaign twice returns the existing copy instead of a second one.
What doesn’t import
- Handouts and journal content (not part of a Roll20 character export)
- Maps, tokens, and images
- Locations, encounters, and standalone items
Import steps
Step 1: export from Roll20
Export your characters as a Character Vault JSON file, or use a character-sheet export that produces a CSV.
Step 2: open the import wizard
- Launch Campaign Familiar
- Open the Library from the sidebar and click Import to Library
- Choose Roll20 as the source
Step 3: select your export file
Browse to your .json or .csv file. Campaign Familiar detects the format automatically and shows how many characters it found.
Step 4: review and import
Run the import. Every character lands in your campaign-neutral Master Library as an NPC, each tagged with its Roll20 source for provenance.
Step 5: assign to a campaign
Imported characters live in the Master Library, not in a campaign directly. To bring one to your table, open it in the Library and click Assign to Campaign - that places an editable copy in the campaign you pick while the Library master stays the original. Assigning the same character to a campaign twice returns the existing copy rather than duplicating it.
Missing-field warnings
Roll20 exports are often incomplete - a character might have a name and bio but no HP or AC. Campaign Familiar still imports those characters using sensible defaults, and it shows a warning for each one listing what was missing (for example, “imported with missing fields: hp, ac”).
Warnings don’t stop the import. They’re a heads-up so you know which NPCs to flesh out before your next session.
After import
- Add the missing pieces. Fill in stats, personality, and goals for characters that came in thin.
- Build connections. Roll20 exports carry no relationships - link your NPCs to locations and factions by hand, or let the engine suggest connections.
- Tag imports. A tag like
imported-roll20makes cleanup easy.
Troubleshooting
”could not detect a valid Roll20 export”
- The file must be a Character Vault JSON or a character-sheet CSV
- A plain text file or an unrelated JSON won’t be recognized
Characters imported with no stats
- The export didn’t include combat fields. Check the warnings list to see exactly which NPCs and fields were affected, then add them manually.
A character was skipped
- Characters with no name are skipped (they can’t be created as a creation). Give them a name in Roll20 and re-export.
Related
- VTT import overview - General import information
- Fantasy Grounds import - Import from a Fantasy Grounds campaign folder
- Foundry import - Import from Foundry JSON exports
- Roll20 export - Export a campaign’s NPCs to Roll20
- Export formats - Getting data out of Campaign Familiar