A sprite is a small grid, a short palette, and usually a transparent outside. This page opens at 32 cells, 8 colors, dither off, contrast 15, corner-color removal on. Character-sized start, not an icon and not a portrait study. You'll tweak width before you're done.
16 for a prop or inventory icon, 32 for a person, 64 if the face has to stay a face. Square lock is off so a standing figure can be 32×48. Turn Square on when the engine wants a square texture. Why one-pixel outlines vanish on a phone is in sprite sizes. Discord 128 and Twitch 28/56/112 targets are in Discord and Twitch pixel sizes. Don't import a screenshot of the canvas; you'll bake the checkerboard in.
Jam-sized grids
Game jam devs, RPG Maker folks, anyone importing a small PNG with alpha. Streamers mock up emotes at 32 or 64 here, then upscale in the platform uploader, not in this tab. Logo makers with flat backdrops fit too, especially with corner removal on. It's sprite mode end to end; don't expect floss symbols.
Not the page for a wide dithered photo study; open the pixel converter and raise width. Not DMC floss or Perler peg counts either. Here for bead codes? Wrong tab.
Why 8 colors
Thirty-two cells wide targets walk-cycle-sized characters. Eight colors keeps silhouettes readable on retro hardware and modern phones. Dither off means one hex per cell for clean indexing. Contrast at 15 separates hair from skin before the cut. Drop the corner color on assumes a white or flat edge around the subject, common for logos and isolated PNGs.
Engine doc says 16×16 tiles? Set width to 16 before you paint details you can't keep. Art bible already lists hex values? Paste them as a custom palette instead of trusting source colors. If you're not sure, start at 32 and drop later.
Import checklist
Upload PNG with alpha when you've got it. JPG works for quick tests but won't export transparency. Set width to the engine's native size when you know it. Legend shows two near-grays? Lower colors or raise contrast, then rebuild.
Toggle Drop the corner color and inspect subject corners. Uncheck if the shirt touches the frame edge. Pick a swatch and clean stray backdrop cells. Replace all merges accidental duplicates. Choose format PNG, Download, and verify dimensions in your file browser before importing.
In the engine, set texture filtering to nearest neighbor. Blurry edges usually mean you imported big preview or the engine scaled up. Checklist: actual size vs big preview.
Blurry edges
Screenshotting the canvas bakes the checkerboard as gray pixels. Use the download buttons. Dither on a 32-wide face reads as noise, not shading. Add a second highlight color by hand instead.
Twelve colors on a sprite meant for an eight-color scene makes the character look pasted in. Match the jam palette via Pico-8 or pasted hex. Outlines that match the backdrop vanish when corner removal runs; paint the outline a darker hex first.
Still looks like a shrunken photo? Width's too high for the color count, or contrast is too low. See fix a muddy conversion with sprite sizes in mind. Don't assume the engine will fix a soft import; it won't.
Actual size only
Format PNG is the file that belongs in a game project. It matches the meta line exactly. Preview is for human review and Discord posts, not re-import. Grid lines on Preview are optional guides; they must not show up in the actual-size download.
Symbol chart exports don't apply here; this page stays in pixel mode. Need swatches from the same photo for UI chrome? Copy hex from the legend or hit palette from image.
Alpha and corners
The checkerboard is the page, not a baked pattern. Actual-size PNG stores alpha. JPG can't. Drop the corner color clears a hex when at least two corners agree: fine for a logo on white, bad if the subject touches every corner. Holes in the shirt? Uncheck it. Painting the backdrop by hand on a 32-wide grid is a short job and won't eat the outline. Read transparent pixel sprites before you screenshot the stage and trap the checkerboard in the file.
Wrong page?
Wider photo grids: pixel converter. Craft patterns with symbols: cross-stitch or fuse beads. Hex lists without a grid: palette from image. Same engine: pixel converter.
Palette discipline: how many colors and Pico-8 palette. Everything runs in the browser; there's no upload queue. It's the same PNG pipeline with tighter defaults.
Questions
Which file do I put in the game?
Format PNG (1 pixel per cell), then Download. A 32×32 sprite should be 32 pixels wide. Turn Apply grid off so lines don't sneak into a Preview file you grab by mistake.
Why did my outline disappear?
Drop the corner color stripped a hex shared by two corners. If the outline matched the backdrop, uncheck it and paint backdrop cells yourself.
Should sprites be dithered?
Usually no. On 32×32, dither reads as noise, not tone. Paint one highlight cell instead.
Can I use a photo directly at width 16?
You can, but faces rarely survive. Use 16 for props and icons; bump to 32 or 64 for characters. You'll know in ten seconds if 16 was a mistake.
Why is contrast higher here than on the main converter?
Small grids need stronger separation before the median cut, or edges collapse into one muddy hex. That's why this page opens at 15, not zero.
Updated 30 September 2026