Pixel Art to Cross Stitch Converter

This pixel art to cross stitch converter turns every pixel into exactly one stitch: no blurring, no dithering, transparent pixels left unstitched. Free and private in your browser.

Your photo never leaves your device.

or drop it here · PNG or GIF at its original pixel size
Try a sample:

Pattern settings
0 keeps every color in the image. Higher values join shades closer than this color difference (ΔE).

Choose a picture or try a sample to see your chart here.

Hover over the chart to see the column, row and floss number.

Private by design: this tool runs entirely in your browser and nothing you type is uploaded. Your photo never leaves your device on any crossstitchtool.com tool.

How to turn pixel art into cross stitch

  1. Choose your pixel art as a PNG, GIF, WebP or BMP, or try the Heart or the 4× upscaled Tree sample.
  2. Check the size. The converter detects upscaled exports and shows the real stitch count. Override it under "Pixel size" if needed.
  3. Merge colors if you want. Leave merge at 0 to keep every color, or raise it to join near-identical shades.
  4. Pick your fabric to see the finished size, then download the PDF chart, the PNG or the floss list.

Why a pixel art cross stitch converter is different

General photo converters resize the picture and blend neighboring pixels, which turns crisp sprite outlines into muddy in-between shades. They also add dithering: scattered dots of two colors to fake a third. For pixel art that is exactly what you do not want. This converter treats each pixel as a square of thread, so the stitched piece looks the way the artist drew it.

Pixel art and cross stitch are a natural pair because both are grids. A sprite is already a chart; the only work is matching each screen color to a floss color, counting stitches and printing it in a readable layout with a symbol in every square.

Upscaled pixel art is restored automatically

Pixel art is often shared at 2×, 4× or 8× size so it looks sharp on screens, which would make a pattern far too large. The converter looks for the largest block size that divides the image evenly with every block a single color, and shrinks each block back to one stitch. A 4× export of a 32 × 32 sprite (128 × 128 pixels) gives a 32 × 32 pattern. If your art has a deliberate pattern of 2 × 2 details, choose "1 pixel = 1 stitch" to keep it as is.

Colors, merging and transparency in pixel art cross stitch

Every opaque color in the image is matched to the nearest stranded cotton color, using a color difference that follows human vision. With merge set to 0, the legend lists one row per image color unless two colors land on the same floss. The merge slider joins shades closer than the chosen difference: 2 to 6 tidies soft anti-aliased edges, and 16 to 20 folds most JPG noise together, although a PNG export is always cleaner. Transparent pixels are never stitched, so sprites on a transparent background come out as just the character.

If you already own some floss, choose "Only my floss numbers" and type them in; every pixel is then matched within your own stash. The legend shows stitches and skeins per color, and the floss calculator adjusts strands and waste.

Size, fabric and framing

The pixel art to cross stitch converter shows the finished size as soon as the chart is made. Finished size is the pixel count divided by the fabric count. Small sprites suit 14-count Aida for bookmarks, magnets and cards; 11-count makes them bolder from across a room. Use the size calculator for fabric to buy and the hoop size calculator to choose a hoop or frame. The converter accepts art up to 400 × 400 stitches after any upscaling is removed.

Other ways to make a pattern

For photos, drawings and anything with gradients, use the cross stitch pattern maker, or the photo to cross stitch page if you need to crop or remove a background first. To draw your own pixel design by hand, print blank cross stitch graph paper and color the squares.

Example results

32 × 32 sprite

A 32 × 32 PNG with 5 colors and a transparent corner: a 32 × 32 stitch pattern, 5 floss colors, 1,008 stitches, 2.3 × 2.3 in on 14-count.

4× upscaled export

The same sprite saved at 128 × 128 pixels: detected 4 × 4 blocks, restored to 32 × 32 stitches with the same 5 colors.

JPG with noise

A 48 × 48 sprite with 6 colors saved as JPG has 2,208 shades in the file: 151 floss colors at merge 0, 13 at merge 20. The original PNG gives the clean 6.

Frequently asked questions

Can I convert pixel art to a cross stitch pattern for free?

Yes. This converter is free with no sign-up: each pixel becomes one stitch, and you can download the chart as a PDF or PNG with a floss list.

The image is read in your own browser and never uploaded.

Will my pixel art be blurred or resized?

No. Pixels are never smoothed or resampled, and no dithering is added, so a 32 × 32 sprite becomes exactly 32 × 32 stitches.

Each image color is matched to the nearest stranded cotton color; hard edges stay hard.

My pixel art was exported at 4× size. Will it still work?

Yes. The converter detects even blocks of identical pixels and turns each block back into one stitch, so a 128 × 128 export of a 32 × 32 sprite gives a 32 × 32 pattern.

If the detection guesses wrong, choose the pixel size yourself in the settings.

What happens to transparent pixels in pixel art cross stitch?

Transparent pixels are left unstitched, so the fabric shows through. They do not count toward the colors or the stitch total.

Partly transparent pixels below half opacity are treated as transparent; the rest are stitched in their color.

How big is a pixel art cross stitch?

Divide the pixel width by your fabric count: a 32-pixel sprite is 2.3 inches on 14-count Aida and 1.8 inches on 18-count. A 64-pixel sprite is 4.6 inches on 14-count.

Add about 3 inches of fabric on each side for framing.

Why does my pattern have fewer colors than my image?

Two image colors that match the same floss color share one row in the legend, and the merge slider joins shades closer than the value you choose.

Set merge to 0 to keep every image color; very close shades can still share a floss color because the floss range is limited.

Can I use a JPG screenshot of pixel art?

PNG or GIF is best, because JPG compression adds faint noisy shades around every edge. If you only have a JPG, raise the merge slider to 16 to 20 to fold most of those shades together, then check the edges in the preview.

Also make sure the screenshot is not scaled by an odd amount, such as 1.5×.