Image editing tools

Cross-Stitch Pattern Generator

Upload a photo, choose how many stitches wide and how many colors, and get a printable cross-stitch chart with a numbered legend.

How to use the cross-stitch pattern generator

  1. Upload a photoChoose an image from your device.
  2. Set width and colorsPick how many stitches wide the pattern should be and how many colors to use.
  3. Generate and downloadClick Generate to build the chart and legend, then download the chart as a PNG.

How the pattern is generated

Your photo is first shrunk onto a tiny canvas that is exactly as many pixels wide and tall as your chosen stitch count, letting the browser's built-in image smoothing average each block of the original photo down into a single color per stitch. Those colors are then quantized and grouped down to your chosen palette size by keeping the most common colors and reassigning every other color to its nearest match. The result is rendered as a grid of colored squares with a bolder guide line every ten stitches, just like a printed cross-stitch chart.

Downsample, then simplify

Shrinking first and quantizing second keeps the process fast and produces smooth, sewable color regions instead of noisy pixel-level color changes.

Standard chart conventions

A light grid line marks every stitch and a bolder line every ten stitches, matching how most printed cross-stitch charts are laid out.

Colors from your photo, not a floss catalog

The numbered legend swatches are colors sampled and simplified from your own image. They are a helpful visual reference, not an exact match to any specific embroidery thread brand or numbering system.

Cross-Stitch Pattern Generator FAQ

How does this turn a photo into a stitch chart?

The photo is first downsampled to a tiny canvas exactly as wide and tall as your chosen stitch count, letting the browser's own image smoothing average each block of pixels into one color. Those colors are then quantized and grouped down to your chosen palette size, and each stitch is drawn as a colored square on a grid.

What does "Stitches wide" control?

It sets the horizontal resolution of the pattern — how many stitch squares wide the finished chart is. The height is calculated automatically to match your photo's aspect ratio. A higher number gives a more detailed pattern with more stitches to sew.

Are the legend colors matched to real embroidery floss?

No. The legend colors (C1, C2, C3, and so on) are sampled directly from your photo after simplifying it to your chosen palette size. They are illustrative reference colors, not matched to any specific embroidery floss brand or numbering system.

Is my photo uploaded anywhere?

No. The photo is read and the entire chart is generated locally on an HTML canvas in your browser.

Why is there a maximum pattern size?

Stitch counts are capped at a sane maximum so the chart stays fast to generate and the resulting image stays a reasonable size to download and print.

Try other free tools

More handy tools from My Panda Toolbox.