Character and Monster Portraits
Dice Monster supports managed portrait uploads for characters and homebrew monsters. Uploaded files are converted into fixed, optimized variants before they are stored.
Supported uploads
Section titled “Supported uploads”Portrait files must be:
- A static JPEG, PNG, or WebP image
- No larger than 10 MB
- No more than 12,000 pixels on either side or 40 megapixels in total
SVG, GIF, animated PNG/WebP, AVIF, and HEIC uploads are rejected. If an image from a phone uses HEIC, export it as JPEG or PNG before uploading.
Generated variants
Section titled “Generated variants”Each accepted upload produces two WebP files:
| Variant | Output | Used for |
|---|---|---|
| Avatar | 256 × 256, center cropped | Initiative, inventory, and character avatars |
| Portrait | Up to 1024 × 1024, aspect ratio preserved | Character and monster previews |
The center-cropped avatar may trim the edges of wide or tall images. Keep the subject near the center of the source image.
Transformations happen once during upload. Dice Monster stores the resulting files in R2 and serves them directly afterward; viewing a portrait does not run another transformation. The raw uploaded file is not retained.
Characters
Section titled “Characters”Select the portrait from the character sheet or inventory character card, then save the image change. The new portrait is attached only after the upload has completed successfully.
Removing or replacing a managed portrait cleans up the previous stored files once nothing else references them.
Monsters
Section titled “Monsters”Select an image in the monster’s Details tab. The preview updates after processing, but the portrait is not attached to the monster until the monster form is saved.
If a form is abandoned after upload, unattached files are removed automatically after their cleanup period.
Existing images
Section titled “Existing images”Older Dice Monster image URLs and existing external image URLs continue to display. They are not transformed automatically. Upload a replacement to move an older portrait onto the managed variant pipeline.

