Looking for quick answers? See the FAQ & Documentation.
About Dragon Disco
Dragon Disco is a free, browser-based encounter builder for tabletop RPG game masters. Build and balance encounters with live XP and difficulty calculations, manage your monster database, export initiative commands to Avrae, and sync tokens to Owlbear Rodeo — all without any server-side account or sign-in. Your data lives in your browser; nothing is stored on our servers. Use Export/Import to back up or move between devices.
Contact
Questions, feedback, or bug reports? Join the Discord or email contact@dragondisco.com.
Support Development
Dragon Disco is free to use. If you find it helpful, you can support development on Ko-fi or Buy Me a Coffee. Donations are optional but appreciated!
Getting Started
1) Open the Builder
Go to the Builder tab. Add your party and any enemies you want to test. You'll see difficulty and XP update live.
2) Import or Add Monsters (Recommended)
Dragon Disco works best when your Monster Database is populated. Import from the 5e SRD (JSON/CSV) or add your own entries in Settings > Monster Database. The database powers autocomplete, CR/HP/Type lookups, and faster encounter building.
3) Add PCs
Enter each character's level (and optional AC/HP). Party thresholds update automatically for 2024 encounter math.
4) Build & Export
Use the Builder's export tools to generate Avrae commands or mirror enemies to Owlbear Rodeo. You can also use the Encounter Table for weighted random encounters and one-click exports.
Core Features
Encounter Builder
Add PCs and monsters, adjust counts, and see real-time difficulty. Export initiative and drop commands for Avrae, or mirror to Owlbear.
Avrae: Initiative Name Replacements
You can customize names that appear in Avrae using tokens in the Display Name field:
#– sequential number for duplicates (e.g.,Goblin #> Goblin 1, 2, …)%I%– initials from the monster name (e.g., "Ice Mephit" >IM)%T%– creature type;%ST%– subtype;%ST-T%– subtype or type if no subtype%FW%/%LW%– first/last word;%FI%/%LI%– first/last initial%DFW%/%DLW%– drop first/last word%S%– size%TAG%– auto initials of the final rendered name (also usable in Init Effects)- Special: set Display Name to
*to use the original name.
If you do not include # and there are duplicates, numbering is appended automatically
and may not be correctly in sync with what is expected by Avrae.
Note: The Display Name field in the Enemies table controls both the names used in Avrae initiative commands and the token name labels in Owlbear Rodeo.
Encounter Tables
Keep a library of weighted encounters with notes. Roll, preview, and export quickly during play.
Monster Database
Import SRD or custom data (JSON/CSV/Sheets) or add manually. Fields like CR, Type, Size, HP, and URLs power autocomplete and lookups. The more data you have, the faster encounter building becomes.
Custom Monsters
For custom monsters, Dragon Disco works best when those monsters also exist in Avrae.
Create them with Bestiary
Builder,
export to JSON and import here, then import the bestiary into Avrae (!help bestiary) so
names match and initiative commands work as expected.
Avrae Integration
By default, Dragon Disco generates copyable initiative commands that you can paste into Avrae. If you prefer direct sync, store your Avrae API Token in Settings and (optionally) enable Auto-Sync to push updates automatically. With this enabled, you can take advantage of our companion Avrae Workshop alias, which allows you to start combat with a single command. No copy+paste required! You can also access the data synced to your Avrae User Variables (UVARs) and create your own custom aliases.
Important Security & Privacy Information
Your Avrae API token is sensitive. Only enter it in a trusted browser on a device you control. Anyone who obtains this token could act as you and may gain access to your Discord account. Never store your token (or any other sensitive information) on shared or public machines.
Dragon Disco works without automatic Avrae syncing via copy+paste without the need for an Avrae API Token. If you do connect, your Avrae API Token is stored only in your browser's local storage (that's also how avrae.io keeps it). It's your choice—and your responsibility—if you store it here.
When Avrae integration is active, your API token is sent to avrae.io with every request, as it is required to authenticate. When you sync encounter data (manually or via auto-sync), that data is sent to and stored in your Avrae User Variables (UVARs) on avrae.io.
Owlbear Rodeo
Add the custom extension in Owlbear Rodeo with this manifest URL:
https://dragondisco.com/owlbear/manifest.json. Then open Dragon Disco Token
Importer in Owlbear and keep this page open while editing enemies—tokens update automatically.
NOTE: you may need to disable your browser's popup blocker for https://www.owlbear.rodeo/.
Data note: The Owlbear extension communicates with www.owlbear.rodeo and shares token and combat data with other instances of the extension in the same room, via Owlbear Rodeo's infrastructure.
Avrae Combat Sync
When connected to the Dragon Disco Avrae Workshop alias, the Owlbear extension can display live combat data synced from Avrae: initiative order, round number, HP, conditions, and active effects for every combatant. HP bars and condition icons are overlaid directly on map tokens. Players in the same Owlbear scene can view the combat state; the GM controls what information is visible to them.
Setup
Requires an Avrae API Token and the Dragon Disco Avrae Workshop alias. One-time setup:
- Enter your Avrae API Token in Settings > Avrae Integration and click Export to Avrae.
- Enter your Avrae API Token in the Owlbear extension Settings tab.
- Enable Show Combat Tab in the extension settings.
During combat:
- Use
!disco eotinstead of!i nextto advance turns and automatically sync combat state. - Use
!disco syncto manually push the current state at any time. - Use
!disco endto end combat and clear the display in Owlbear.
Settings & Data
Configure themes, integrations, and data. Everything is stored locally in your browser; use Export/Import to back up regularly.
Tips & Shortcuts
Quick Add
Type part of a monster name; autocomplete uses your database to fill CR/Type fast.
Inline Editing
Most fields can be edited in place; press Enter to commit or click away to cancel.
Troubleshooting
Owlbear extension isn't connecting
Confirm you added the exact manifest URL https://dragondisco.com/owlbear/manifest.json
and that this page is open.
Avrae export failed
Re-check your API token in Settings > Avrae Integration. If Auto-Sync is on, try a manual Sync to surface errors.
Combat Sync not updating in Owlbear
Confirm your Avrae API Token is set in the Owlbear extension Settings tab and that
Show Combat Tab is enabled. Use !disco sync to push state manually and check for
errors in Discord. If you recently changed your Avrae account, update your token.
Import issues
Make sure your JSON/CSV follows the expected fields. You can always add or fix entries manually after import.
Privacy & Data
Dragon Disco is primarily a client-side app. Your encounter and settings data is stored locally (e.g., LocalStorage/IndexedDB). Export your data routinely to avoid loss if you clear your browser storage or switch devices. We are not responsible for any lost data.
Some features communicate with external services:
- Avrae (avrae.io): Your API token is sent to avrae.io with every request as required for authentication. Sync features send encounter data to your Avrae User Variables (UVARs) on avrae.io.
- Owlbear Rodeo (owlbear.rodeo): The Dragon Disco extension communicates with www.owlbear.rodeo and shares token and combat data with other extension instances in the same room.
- Character sheet imports: Fetching character sheets from D&D Beyond or Dicecloud may route through a Dragon Disco CORS relay. No data is collected or stored, but the character sheet URL and ID pass through Dragon Disco's server.
- Token images: Token images may load through the third-party image proxy images.weserv.nl, which receives the original image URL.
- Google Sheets: The Google Sheets integration accesses your sheets via Google's APIs. See the full details in Legal.