Inspiration
Minecraft pixel-art generators are useful, but turning a photo into something that can actually be built in-game is harder than it looks. A flat preview is not enough: builders need a sensible block palette, accurate material counts, and an export they can bring into WorldEdit or Litematica.
We wanted to make that workflow simple without asking users to upload personal images to a server.
What it does
MC Pixel Art converts an image into Minecraft-style pixel art using a selectable, version-aware block palette for Java and Bedrock Edition.
Users can:
- Upload an image and convert it into a Minecraft block layout
- Choose Minecraft version and palette options
- Preview the generated pixel art
- See a material list with block counts
- Export a PNG preview
- Export
.schemfiles for WorldEdit - Export
.litematicfiles for Litematica - Follow a chunk-by-chunk build guide for larger creations
Everything runs in the browser, so the original image stays on the user's device.
How we built it
The project is a browser-based web app built with Next.js, React, JavaScript/TypeScript, CSS, Canvas APIs, and Web Workers.
The conversion pipeline reads image pixels locally, compares them against Minecraft block colors, and generates the closest matching block palette. Instead of relying on simple RGB distance alone, we use OKLab color-space matching to produce more visually natural results.
Potentially expensive image processing is moved into a Web Worker so the interface remains responsive while users experiment with different palettes and settings. Export tools then turn the generated block grid into image previews, material lists, and Minecraft-compatible schematic formats.
Challenges we ran into
The biggest challenge was color matching. Minecraft blocks have textures, lighting, and colors that do not always behave like simple RGB values. A block that looks numerically close can still look wrong in a finished build, especially across shadows, skin tones, skies, and gradients.
Another challenge was balancing quality with browser performance. Large images can contain millions of pixels, so we had to keep processing local and responsive without sending files to a backend.
Export compatibility was also important. A preview is useful for inspiration, but builders need practical outputs for their existing workflows. Supporting material counts, .schem, .litematic, and build-guide views made the project more useful beyond a single image conversion.
What we learned
We learned that privacy can be a product feature, not just an implementation detail. Keeping image conversion fully client-side makes the tool faster to start using and easier to trust.
We also learned that a good generator should help users finish the job. Better palette matching, export formats, material counts, and chunk-by-chunk guidance matter just as much as the initial visual result.
What's next
Next, we want to improve palette controls, add more build styles and dithering options, make large-image workflows faster, and keep expanding support for Minecraft versions and export formats.
Log in or sign up for Devpost to join the conversation.