RPGJS Studio
Choose a playable world, customize maps and events visually, then press Play. Start free in your browser and export your RPGJS source.
Make round VTT tokens for Roll20, Foundry and Owlbear Rodeo. Runs in your browser; nothing is uploaded.
GamesJavaScript · CSSGitHub @Sectr99OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Make round VTT tokens in your browser: pick a border, frame a portrait, download a transparent PNG for Roll20, Foundry VTT or Owlbear Rodeo.
Loading the full README.
Read the full README ↗Make round tokens for virtual tabletops in your browser. Pick a border, frame a portrait, and download a transparent PNG for Roll20, Foundry VTT, Owlbear Rodeo or any VTT that takes images.
Open Token Forge · No account, no upload: images never leave your browser.
No build step and no dependencies. Clone the repo and serve the folder:
git clone https://github.com/Sectr99/TokenForge.git
cd TokenForge
npm start
Then open http://localhost:3000. npm start runs serve through npx; any static file server works.
Everything runs client-side on a single <canvas>. The portrait is clipped to a circle at the border's inner radius, transformed and filtered, and the border image is drawn on top. Exports redraw the same scene on an offscreen canvas at the chosen size.
index.html page shell
css/main.css styles (DungeonTools design tokens and components)
js/borders.js built-in border list: image path and cut radius
js/app.js canvas rendering, input handling, export, saved settings
assets/borders/ border art (512×512 WebP with alpha)
assets/borders/.BORDERS in js/borders.js. innerR is the radius in pixels, from the centre, where the portrait is cut. Set it a few pixels past the ring's inner edge so the portrait tucks under it.Hosted on Cloudflare. Pushes to main deploy the repository root as static assets (see wrangler.jsonc); cache headers are in _headers. JS and CSS are cached for a year, so bump the ?v= query in index.html when they change.
MIT. Part of Dungeon Gadgets, tools for running tabletop games.