A free, open-source character builder for D&D 5th Edition, Brancalonia, and Apocalisse. Runs entirely in your browser — no server, no account, no tracking.
- 3 game variants: D&D 5e (SRD), Brancalonia (Spaghetti Fantasy), Apocalisse (Dark Fantasy)
- 9-step wizard: variant, race, class, abilities, background, equipment, spells, details, review
- 3 ability score methods: standard array, point buy, 4d6 drop lowest
- Random character generator: one click per variant
- PDF export: fills official AcroForm character sheets with editable fields
- JSON import/export: save, share and load characters with full validation
- Offline-ready: PWA with service worker caching
- Bilingual: Italian and English (auto-detected)
- Accessible: WCAG-compliant, keyboard navigation, screen reader support
- Sustainable: follows W3C Web Sustainability Guidelines
Visit https://fullo.github.io/dnd-character-builder/ — that's it!
git clone https://github.com/fullo/dnd-character-builder.git
cd dnd-character-builder
npm install
npm run devOpen http://localhost:5173/dnd-character-builder/ in your browser.
npm run buildThe docs/ folder is ready to deploy on any static hosting (GitHub Pages serves it from /docs).
- Open the app and pick a game variant (D&D 5e, Brancalonia, or Apocalisse)
- Click "From Scratch" under the variant card
- Follow the 9-step wizard: choose race, class, generate ability scores, pick background, equipment, spells, fill in details
- On the review page, export as PDF (editable fields) or JSON
Click "Random" under any variant card to instantly create a fully built character. You'll land on the review page where you can tweak, save, or export.
- Click "Import JSON" under the variant you're importing for
- Select a
.jsonfile previously exported from this app - The file is validated — if anything is wrong, you'll see specific error messages
- If the character belongs to a different variant, you'll be warned but it will still load
From the review page, click "Export PDF Sheet". The exported PDF uses the official character sheet with editable AcroForm fields — you can keep filling it in with any PDF reader (Adobe Acrobat, Foxit, etc.).
Click "Save Character" on the review page. Characters are stored in your browser's localStorage and appear on the home page for quick access.
- Vue 3 (Composition API + TypeScript)
- Vite for build
- Pinia for state management
- vue-i18n for translations
- TailwindCSS v4 for styling
- pdf-lib for PDF AcroForm filling
- Cinzel gothic serif font for headings
| Variant | Races | Classes | Max Level | Source |
|---|---|---|---|---|
| D&D 5e | 9 SRD races | 12 classes + subclasses | 20 | SRD 5.1 |
| Brancalonia | 6 races | 12 subclasses | 6 | Acheron Games |
| Apocalisse | 1 race, 6 origins | 12 archetypes | 20 | Acheron Games |
src/
components/
layout/ # AppHeader, StepNavigation, LanguageSwitcher
steps/ # Step1Variant through Step9Review
composables/ # usePdfExport, useGameTerms
data/
dnd5e/ # classes, races, spells, equipment, backgrounds, rules
brancalonia/ # classes, races, backgrounds, rules
apocalisse/ # classes, races, backgrounds, rules
i18n/locales/ # it.json, en.json
stores/ # app.ts (settings), character.ts (character data)
utils/ # calculations, diceRoller, pdfFieldMapping, randomCharacter
views/ # HomeView, BuilderView, CharacterListView, PrivacyView
public/pdf/ # PDF character sheet templates
This repo includes a pre-built docs/ folder. To deploy:
- Go to your repo Settings > Pages
- Set Source to Deploy from a branch
- Set Branch to
mainand Folder to/docs - Save — your site will be live at
https://<username>.github.io/dnd-character-builder/
To update the deployment, rebuild and commit:
npm run build
git add docs/
git commit -m "build: update docs"
git pushThis app collects zero data. Everything runs in your browser. No cookies, no analytics, no accounts. Character data is stored only in your browser's localStorage.
MIT
Built with Vue 3 and Anthropic Claude. D&D 5e content from the Systems Reference Document 5.1 under the Open Gaming License. Brancalonia and Apocalisse are products of Acheron Games.