Summary
Blotter Builder accepts JPEG, PNG, and WebP image files up to 50 MB and 50 megapixels each. A file that fails any check is added to Uploads as a visible error card rather than silently rejected, and cannot be placed until you remove it and upload a file that passes.
Use it when
- You are about to upload your own artwork and want to know what will and won't be accepted before you try.
- An upload shows red text instead of a thumbnail and you need to know why.
- You are preparing a very large scan or photograph and want to know whether to downsize it first.
Before you begin
Nothing to prepare — the Uploads section is open by default on desktop and reachable via the Uploads button in the bottom bar on mobile. No account or format selection is required to upload a file.
Steps
- Open Uploads.
- Select Select images. The file picker allows multiple files at once and is filtered to JPEG, PNG, and WebP by the browser.
- Confirm your selection. Each file appears as its own card in Uploads, newest at the top.
- Check each card:
- A successful upload shows a thumbnail and its pixel dimensions and file
size, for example
500×500px · 7 KB. - A failed upload shows a checkerboard placeholder and a red message explaining why (see Warnings and limits).
- A successful upload shows a thumbnail and its pixel dimensions and file
size, for example
- Open the
⋯menu on a card to Place image, Fill canvas, Remove background, or Delete it. On a failed upload, every action except Delete is disabled.
What changes
- Each selected file becomes its own card in Uploads, independent of the others — one oversized file in a multi-file selection does not block the rest from uploading successfully.
- A failed upload still occupies a card and counts as an item in your upload list; it is not discarded automatically. Use Delete to remove it.
- Nothing is placed on the artboard by uploading alone — see Place vs. Fill canvas for that step.
Print note
The 50-megapixel ceiling is an upload limit, not a print-quality target. Whether a given upload is high-resolution enough for the artboard's physical size at your current format is a separate check — see Effective DPI and resolution warnings in the Image quality chapter.
Warnings and limits
Confirmed limits and their exact messages, tested directly against the live upload input:
| Condition | Message shown | Threshold confirmed |
|---|---|---|
| File is not JPEG, PNG, or WebP | File type not allowed — use JPEG, PNG, or WebP. |
Applies to wrong file type (for example .txt) and to files with an accepted image MIME type whose content does not decode as a valid image — the check inspects the file's actual content, not just its name or declared type. |
| File is larger than 50 MB | File exceeds the 50 MB upload limit. |
The limit is binary: exactly 52,428,800 bytes (50 MiB) passed in testing; 52,428,801 bytes failed. |
| Image decodes larger than 50 megapixels | Image decodes larger than 50 megapixels. |
The limit is decimal: exactly 50,000,000 pixels (for example 10,000 × 5,000) passed in testing; 50,005,000 pixels failed. |
- A failed upload's
⋯menu disables Place image, Fill canvas, and Remove background — only Delete remains available. There is no way to force-place a file that failed validation. - The size and megapixel checks are independent: a file can be well under 50 MB and still fail on megapixels (a highly compressed but very high-resolution JPEG), or well under 50 megapixels and still fail on size (an uncompressed or noisy PNG).
- Uploading does not check whether a file is appropriate for a physical print — only that it is a decodable JPEG, PNG, or WebP within the two limits above.
Desktop and mobile
The upload control, its accepted-format text, and every error message tested were identical on desktop and at 390 × 844 — reached via Uploads in the left rail on desktop and the Uploads sheet from the bottom bar on mobile, per The editor at a glance. No layout-specific difference in upload validation was found.
Troubleshooting
| Symptom | Likely cause | Recovery |
|---|---|---|
| Card shows a checkerboard thumbnail and red text | The file failed a validation check | Read the message on the card; delete it and upload a file that meets the format, size, and megapixel limits |
⋯ menu options are greyed out on a card |
The upload failed validation | Delete the card — a failed upload cannot be placed, filled, or background-removed |
| A file with the right extension still fails as "File type not allowed" | The file's actual content does not decode as a valid image, even though its name or MIME type looked correct | Re-export the file as a genuine JPEG, PNG, or WebP rather than renaming another file type |
| Only one file in a multi-file selection succeeded | Each file is validated independently | Check each card individually; re-upload only the ones that failed |
Related topics
- Place vs. Fill canvas
- Demo art, saved assets, and templates
- Effective DPI and resolution warnings
- The editor at a glance
Verification note
Verified against Blotter Builder on 2026-07-20.
Source notes
Primary observations — all from the live application at
https://blotterbuilder.tdl.fyi, 2026-07-20. Files were generated in-memory
with the Canvas API and File/DataTransfer constructors and assigned directly
to the upload <input type="file">, then a native change event was
dispatched — this exercises the same client-side validation path as a real
file picker selection, without needing an external file source.
- Observed — the upload
<input>hasaccept="image/jpeg,image/png,image/webp"andmultiple. - Observed — a 500×500 px, 7 KB PNG uploaded successfully and displayed
500×500px · 7 KBwith a thumbnail. - Observed — an 8000×7000 px (56 MP), 329 KB JPEG produced
Image decodes larger than 50 megapixels.with a checkerboard thumbnail and disabled Place image/Fill canvas/Remove background in its⋯menu. - Observed — a 2,100-byte plain-text file named
not-an-image.txt(type: text/plain) producedFile type not allowed — use JPEG, PNG, or WebP. - Observed — a 2,000-byte file of random bytes with
type: image/png(invalid PNG content despite a correct MIME type) produced the sameFile type not allowedmessage, indicating content-based validation rather than MIME/extension sniffing alone. - Observed — boundary-tested the size limit: 50,000,000-byte and
52,428,800-byte (50 MiB) random-content files both passed the size check
(and then failed content validation, since they were not real images);
52,428,801 bytes produced
File exceeds the 50 MB upload limit. - Observed — boundary-tested the megapixel limit with valid JPEGs:
10,000 × 5,000 px (exactly 50,000,000 px) uploaded successfully
(
10000×5000px · 287 KB); 10,001 × 5,000 px (50,005,000 px) producedImage decodes larger than 50 megapixels. - Observed — isolated the 50 MB limit from the megapixel limit with a
4000×4000 px (16 MP), 55.0 MB noise PNG, which produced
File exceeds the 50 MB upload limit.— confirming the two limits are checked independently. - Observed — selecting two valid files at once added two cards, most recently added at the top.
- Observed — at 390 × 844, opening Uploads from the bottom bar and
uploading an invalid
.txtfile produced the identicalFile type not allowedmessage and card layout as desktop.
Verification log
| Viewport | Steps tested | Observed result | Date |
|---|---|---|---|
| 1280 × 720 | Upload a valid 500×500 PNG | Thumbnail + 500×500px · 7 KB |
2026-07-20 |
| 1280 × 720 | Upload an 8000×7000 (56 MP) JPEG | Image decodes larger than 50 megapixels.; placement actions disabled |
2026-07-20 |
| 1280 × 720 | Upload a .txt file and a .png-typed file of random bytes |
Both produced File type not allowed — use JPEG, PNG, or WebP. |
2026-07-20 |
| 1280 × 720 | Upload files at exactly 50,000,000 and 52,428,800 bytes, then at 52,428,801 bytes | First two passed size check; 52,428,801 bytes triggered the 50 MB error | 2026-07-20 |
| 1280 × 720 | Upload valid JPEGs at exactly 50,000,000 px and 50,005,000 px | First passed; second triggered the megapixel error | 2026-07-20 |
| 1280 × 720 | Upload a 4000×4000 (16 MP), 55.0 MB noise PNG | File exceeds the 50 MB upload limit. (megapixel limit not implicated) |
2026-07-20 |
| 1280 × 720 | Select two valid files in one picker action | Both added as separate cards, most recent first | 2026-07-20 |
| 390 × 844 | Open Uploads sheet, upload an invalid .txt file |
Identical error message and card layout to desktop | 2026-07-20 |