If your group plays on a virtual tabletop, your character's portrait isn't decoration — it's your character's entire physical presence. Around a real table, you exist. On Roll20 or Foundry, you're either a piece of art or a default gray silhouette named "Token 4."
The good news: VTTs are the cheapest place to give a character a face, because you only need the file. Here's what each platform actually wants, and how to get art worth uploading.
What you actually need
Every VTT uses the same two assets:
The portrait (avatar) — shown in the character sheet, chat messages, and turn trackers. Portrait orientation, face-forward, readable at small sizes. This is where art quality is visible.
The token — the round or square piece that moves on the map. Usually a cropped version of the portrait: head and shoulders, centered, readable at 70 pixels across. Detail is wasted here; silhouette and color do the work.
One portrait, cropped two ways, covers both. Which is why it's worth starting from a portrait that's actually good — a rather than the first image search result that vaguely matches your character.
Platform specifics
Roll20 — avatars display small; tokens render at 70×70 px per grid square on most screens. Upload at least 512×512 for tokens (Roll20 scales down; it can't add detail back). Portraits accept normal image sizes — a 1024-wide portrait is plenty. Free accounts have a 100 MB quota, so don't upload print-resolution files; a compressed JPEG under 1 MB looks identical at VTT sizes.
Foundry VTT — self-hosted, so limits are yours. The convention is 512×512 WebP for tokens (small files matter — every player downloads every asset). Foundry displays portraits prominently in chat cards, so a higher-quality portrait (1024+) pays off more here than on Roll20.
Fantasy Grounds, Alchemy, Owlbear Rodeo — same pattern: one square token around 512×512, one portrait around 1024 on the long edge.
The universal rule: keep one high-resolution master and export down. You'll re-crop tokens more often than you think (new frame styles, a VTT switch, a token that reads badly on a dark map).
From portrait to token
A portrait crops into a token in two minutes:
- Crop square, centered on the face. Include the shoulders; cut at mid-chest. Head-only crops look like floating heads at map scale.
- Favor contrast over detail. If your character wears dark armor on a dark background, brighten the token crop or add a colored border ring — you're competing with a busy battle map.
- Add a border ring if your group uses them. Free token-frame tools (Token Stamp and similar) apply the classic metal-ring look in one step. Keep the ring color consistent per player across a campaign.
- Export 512×512 PNG or WebP. Bigger wastes bandwidth; smaller gets blurry when zoomed.
Getting a portrait that's yours
The awkward truth of VTT play is that most tables run on borrowed art — a Google-searched image that's almost right, drifting further from the character with every level. And because everyone pulls from the same searches, sooner or later two characters in the same campaign share a face.
Generating the portrait instead fixes both problems: the art matches your character — species, scars, gear, expression — and nobody else has it. Describe the character in , pick a style that fits the campaign's tone (a ), and iterate until the face looking back is the one from your head. If you're building a new character from scratch, and the portrait follows naturally.
For a party, generate everyone's portraits in the same style — matched tokens make the whole map look deliberate, and the same set works for a later.
Digital first, print later
A VTT portrait and a printed poster aren't different products — they're different exports of the same character. The portrait that plays as your token all campaign can end the campaign as : Loreprint generates at print resolution (about 4 MP), so the file you download for Foundry today prints clean at 50×70 cm two years from now, when the character has earned the wall.
That's the recommended order of operations, honestly: get the portrait for the VTT now — it's the cheapest way to have your character properly exist — and let the wait until the character's story justifies it.