Image Wheel
Turn local pictures into a reusable visual random choice. Reorder entries, create bounded square crops, spin with equal chances, export session results, or explicitly download a project that restores images, labels, and order.
Image Wheel
Add pictures, reorder and square-crop them locally, then spin for one equal-chance result or download a restorable project file.
0 images
Add at least two valid images before spinning.
Wheel images
0 images
Or use the file picker. Remote links and folders are not accepted.
Source limit: 24 images, 5 MB each, 40 MB total, 4096 px per side and 16 megapixels. Local working copies are JPEG, at most 1600 px and 1 MB each, 20 MB total.
Images and labels stay in this browser session: they are not uploaded, placed in URLs, or stored automatically. Only an explicit project download saves a local copy.
Imports are decoded locally and replaced with JPEG working copies up to 1600 px and 1 MB. Crop output is square, up to 1024 px. Working images total at most 20 MB.
Local project file
Download images, labels, and order as one project file, then choose that file to restore them. It is not saved automatically.
No images have been added yet.
Result history
No results in this session yet.
A concrete image-wheel example
Add six activity photos for a class warm-up, square-crop each focal point, rename and reorder them, then spin. Each entry has a one-in-six chance. Export the session history for the lesson record, or download a local project file before closing the tab.
Equal chances and file identity
The wheel chooses a uniform current-array index with Web Crypto. Keyboard reorder controls change that visible order but not probability, and identical files or labels are not merged. A secure-random failure stops the draw instead of using a weaker source; up to 100 results remain in session history.
Local, session-only image handling
Decoding, JPEG normalization, cropping, project parsing, and exports run in the current browser. Nothing is uploaded, put in the page URL, localStorage, or IndexedDB. Temporary object URLs are released on replacement, reset, page exit, or unmount. A project exists only after you explicitly download it; normal site analytics may load, but image data is not included in those requests.
File and decision limits
- Source JPEG, PNG, or WebP files are limited to 5 MB each, 40 MB combined, 4096 pixels per side, 16 megapixels, 24 entries, and 80-character labels. Retained JPEG working copies are at most 1600 pixels and 1 MB each, 20 MB combined; square crops are at most 1024 pixels.
- Project JSON is strictly versioned and capped at 30 MB. Embedded data URLs, decoded bytes, MIME signatures, dimensions, labels, entry count, and total size are validated before an atomic replacement; projects and history are never restored automatically.
- A random picture can support a low-risk activity or prompt; it cannot determine safety, consent, rights, eligibility, or a high-stakes outcome.
Image wheel questions
- Are my images uploaded?
- No. Decode, compression, crop, project validation, and result export happen in the browser; image bytes, filenames, labels, and results are not sent by this tool.
- Do duplicate images receive separate chances?
- Yes. Every accepted entry keeps its own identity, so two copies remain two equal-probability entries even when their labels match.
- Will the wheel still exist after a refresh?
- Not automatically. Download a project file before refreshing, then explicitly load that local file to restore its images, labels, and order. History is not part of the project.
- How is the result selected?
- The browser Web Crypto API supplies an unbiased integer for one current entry. If secure randomness is unavailable, the tool shows an error and selects nothing.
Content and implementation reviewed: