-
Notifications
You must be signed in to change notification settings - Fork 0
Web Editor Import
The import page turns your source image into map-palette pixels. Everything runs locally in your browser; nothing is uploaded anywhere. The page is a numbered wizard down the left side, and the right side is a live preview of the final result.

Drop a file or Choose File…: PNG, JPEG, WebP, BMP, or animated GIF (all frames come along; see Animated Art). Two other entry points live here too:
-
Import state JSON… loads a previously exported
loominary_state.jsonso you can resume editing without the source image (works for every codec, including muxed exports). This is also how you edit captured art. - Session history: the editor auto-saves complete sessions (source image included) to your browser; load or delete them here.
One map tile is 128×128 pixels; a composition is a Cols × Rows grid of them (each 1–128). Loominary suggests a grid from your image's aspect ratio; type to override, or hit auto to re-derive. Then choose how the image meets the grid:
- Scale to grid stretches or squeezes the image to fill every tile exactly.
- Center crop (default) preserves aspect ratio and trims the overflow edges.
Multi-tile guidance: Multi-Tile & Mux.
Brightness, contrast, and saturation (each 0–2, default 1.0), applied at full resolution before color matching. The map palette is muted, so a small saturation push (1.1–1.3) is the most common improvement. Transparent pixels pass through untouched.
A composition-wide choice between two ways of carrying color:
- Map palette (default): pixels are quantized to Minecraft's map palette, exactly as the steps below describe.
- Full color (sRGB): the art keeps true 24-bit color and travels as a lossy AV1 stream instead. The Palette and Quantization steps disappear, since nothing gets quantized. Full guide: Full color (sRGB).

Which palette entries quantization may use, from all 244 shades down to 16 flat carpet colors, plus a greyscale mode with an adjustable chroma threshold. Full table and guidance: Dithering & Color Matching.
Where most of the quality comes from: ten dither algorithms (Floyd–Steinberg through Jarvis–Judice–Ninke to ordered Bayer, each with a strength slider and serpentine option), five match metrics (perceptual OKLab default), and a chroma boost slider. This gets its own page, Dithering & Color Matching, with side-by-side comparisons.

- Scroll to zoom · drag to pan. The default 4× zoom shows dither texture honestly.
- The small Original thumbnail keeps the source in view for comparison.
- Palette coverage: N% scores how well the current palette suits this image: the percentage of pixels whose best palette match lands within a perceptual ΔE of 0.05, colored green ≥75% / amber ≥50% / red below, with the average ΔE alongside. Dithering and chroma boost deliberately don't move this number, so it's a clean instrument for comparing palettes and adjustments.
Proceed to Editor → encodes and hands off. Animated GIFs quantize every frame in a worker pool at this point (one worker per CPU core) with a "Quantizing frame X of Y…" progress bar; the import preview itself only shows frame 1.
Web editor · Releases · Report an issue — This wiki is generated from docs/wiki/; edit there, not here.
Getting started
The web editor
In the game
Features
Reference
Advanced