Cross Stitch Pattern Maker
Step 1 of 4
Choose a photo or pixel image
Drop a JPEG, PNG or WebP image here, or choose one from your device.
JPEG · PNG · WebP · 15 MB
× px
Turn a photo, illustration or pixel-art image into a counted cross-stitch chart in your browser. Choose a design width from 10 to 150 stitches and a palette of 2 to 40 derived colors, then clean up individual cells before exporting. Every color receives a clear symbol and a neutral code such as C01, with exact stitch counts, finished fabric dimensions and a rough skein-planning estimate. The tool does not claim to identify DMC or any other manufacturer’s thread: compare the generated swatches with physical thread in the light where the finished piece will be displayed.
How to make a cross-stitch pattern from an image
-
1
Choose a local image
Open a JPEG, PNG or WebP from your device. The image is decoded and processed in your browser rather than uploaded.
-
2
Set stitches and colors
Choose a chart width from 10 to 150 stitches, select 2 to 40 derived custom colors and use Photo or Pixel art mode.
-
3
Clean up the chart
Inspect the symbol grid and correct unwanted cells in the cleanup editor. Transparent source pixels remain blank.
-
4
Plan fabric and floss
Enter the effective fabric count and strand count to see finished dimensions, exact stitches by color and a rough skein estimate.
-
5
Save or print
Keep an editable project JSON, export CSV, SVG or PNG, or open the browser print dialog to print the chart or save it as PDF.
A stitch chart, not merely a pixelated picture
A useful counted pattern needs more than large colored squares. This maker reduces the source image to a finite grid, derives a custom palette, assigns one symbol to every color and counts every occupied cell. The chart and legend therefore remain readable when two colors look similar or when printed without color. Each occupied cell means one full cross stitch. The MVP does not generate half stitches, quarter stitches, three-quarter stitches, backstitch, French knots or blended-thread symbols.
Choose the processing mode that matches the source:
- Photo mode is intended for photographs, paintings and images with gradual shading. It favors a simplified overall impression at the selected stitch and color limits.
- Pixel art mode is intended for sprites, icons and other hard-edged sources. It preserves block structure instead of treating the source like a continuous-tone photograph.
Automatic reduction always discards detail. A face that reads clearly at 120 stitches wide may become unrecognizable at 30. Start with a tightly cropped source, compare several widths and palette sizes, and use the cleanup editor to remove isolated cells or repair important edges.
Settings and what they change
| Setting | Supported value | What it controls | Practical trade-off |
|---|---|---|---|
| Source file | JPEG, PNG or WebP | Image used to derive the chart | A clear, tightly cropped source converts better than a busy scene |
| Chart width | 10–150 stitches | Horizontal stitch count; height follows the image proportions | More stitches preserve detail but take longer to sew |
| Palette size | 2–40 colors | Maximum number of custom chart colors | More colors can preserve shading but require more thread changes |
| Processing mode | Photo or Pixel art | How the source is reduced to chart cells | Photo suits gradients; Pixel art suits hard edges |
| Transparent pixels | Blank | Cells with source transparency are not stitched | JPEG has no transparency, so its full rectangle is treated as image content |
| Stitch type | Full cross only | Meaning of every occupied chart cell | Specialty stitches and backstitch must be planned separately |
| Fabric count | Effective stitches per inch | Converts chart stitches into finished dimensions | Higher count produces a smaller finished design |
| Floss estimate | Fabric count and strand count | Rough skeins per custom color | Travel paths, tension, packaging and starts or stops can change real use |
Custom colors are not DMC numbers
The palette is derived from the pixels in this project. Its codes, C01, C02, C03 and so on, identify colors inside this chart only. They are not DMC numbers, Anchor numbers, product recommendations or guaranteed matches to dye lots. Screen color also depends on the display, while real floss changes with lighting, fabric color, strand count and neighboring stitches.
Use the on-screen RGB/HEX swatch as a starting reference, then compare it with a physical thread card or the floss you already own. If an exact brand match matters, make that choice yourself before stitching and note the selected product beside each Cxx code. The chart deliberately avoids presenting a mathematically nearby screen color as a verified thread SKU.
Symbols are not decoration. They let the chart communicate color assignments without relying on color alone, consistent with the principle behind WCAG’s guidance on meaningful graphical contrast. When printing, check that the grid, symbols and legend remain sharp and legible at the chosen scale.
Finished size from fabric count
Fabric count describes how many stitch positions fit in one inch. DMC’s guide to cross-stitch fabric explains that a higher Aida count creates smaller stitches, while the Cross Stitch Guild gives the direct sizing rule in its cross-stitch FAQ: divide the number of chart stitches by the effective stitches per inch.
finished width in inches = chart width in stitches ÷ effective fabric count
finished height in inches = chart height in stitches ÷ effective fabric count
centimetres = inches × 2.54
For example, a 98 × 70 chart on 14-count Aida has a stitched area of 7 × 5 inches, or about 17.78 × 12.70 cm. These are the dimensions of the stitched design, not the fabric cut. Add the border required for holding, finishing or framing. If you stitch over two threads on linen or evenweave, enter the effective stitches per inch: 28-count fabric worked over two has an effective count of 14 stitches per inch.
What the floss estimate assumes
The color table reports exact full-cross counts from the current chart. Thread use is necessarily an estimate because a flat image cannot know how you will route thread on the back. The generic calculation follows the planning rule in CrossStitch.com’s floss-estimate guide, which approximates the number of full crosses available from a standard six-strand skein at a given fabric count and strand count.
estimated stitches per skein = 255 × effective fabric count ÷ strands
estimated skeins per color = color stitch count ÷ estimated stitches per skein
This convention cannot predict parking, long carries, isolated stitches, starts, stops, knots, loop starts, tension, mistakes or discarded ends. It also cannot account for differences in skein length or strand construction between products. Treat the decimal result as a comparison and shopping aid, check the packaging of the thread you choose, and round up, especially when a dye-lot match matters.
Exports and browser-local processing
- Project JSON preserves the editable chart setup, custom palette and cleanup changes for this tool. It is not a universal embroidery-software format.
- CSV provides machine-readable chart cells and color codes for spreadsheet or custom workflows.
- SVG keeps the symbol chart and legend sharp as vector graphics.
- PNG produces a raster copy for previews and sharing.
- Print / Save PDF opens the browser’s print interface. PDF availability and page options belong to the browser and operating system; the tool does not create a separate native embroidery PDF format.
JPEG, PNG and WebP files are opened with browser file and graphics facilities. The File API gives a page access only after you select a local file, while the Canvas API supports local image decoding, sampling and drawing. Generated raster downloads use the browser’s canvas blob export. Your source pixels, chart cells, palette and project file stay in browser-local tool state; normal page requests still occur when the page loads or when funnel steps change.
The 150-stitch and 40-color ceilings keep chart generation, editing, storage and export responsive on ordinary devices. Very large sources are still reduced to the selected chart grid: increasing the source image’s megapixels does not raise the chart limit or restore detail lost to a small stitch count.
Frequently Asked Questions
No. It derives a custom palette from your image and labels the chart colors C01, C02 and so on. Those codes are local chart identifiers, not DMC or other manufacturer SKUs. Compare each swatch with physical thread and record your chosen product yourself.
You can open a JPEG, PNG or WebP and choose a chart width from 10 to 150 stitches. The chart height follows the source proportions. The derived custom palette can contain from 2 to 40 colors.
Photo mode is intended for continuous tones and gradual shading. Pixel art mode is intended for sprites, icons and hard-edged artwork where block structure matters. Try both when the source mixes sharp outlines with textured areas.
Transparent source pixels become blank chart cells and are excluded from stitch and floss totals. JPEG does not carry transparency, so its entire rectangular image is treated as visible source content. You can erase unwanted chart cells in the cleanup editor.
No. Every occupied cell represents one full cross. The chart does not generate fractional stitches, backstitch, French knots, beads or blended-thread symbols. Add those details separately if your project requires them.
The stitch count for each color is exact for the current chart, but the skein figure is a rough planning estimate based on fabric count and selected strands. Stitching route, tension, starts, stops, product length and mistakes can change actual use, so check the chosen thread packaging and round up.
Use Print / Save PDF to open your browser’s print dialog, then select a PDF destination if your browser or operating system provides one. The direct downloads are project JSON, CSV, SVG and PNG; there is no separate native embroidery-PDF exporter.
No. The selected image is decoded and converted in your browser, and the tool does not send its pixels, generated chart, palette or exports to an external image or AI service. Normal requests still occur to load the webpage and when navigating between funnel steps.
Related Tools
Image Resizer
Resize images to pixel-exact dimensions or percentages while preserving aspect ratio. Batch-friendly, no upload.
QR Code Generator
Generate a browser-local QR code from a plain text or URL payload. Adjust size, colours and error correction, then download PNG.
Meme Generator
Add fixed top and bottom captions to a JPG, PNG, or WebP image in your browser. Set font, size, colors, and stroke, then download a PNG.
Barcode Generator
Create a 1D barcode in your browser in Code 128, EAN, UPC, ITF-14 and other supported formats. Download the rendered result as SVG or PNG.
Material Design Color Picker
Browse the Material Design color palette. Copy any shade (50 through A700) as HEX, RGB or HSL with one tap.
GIF Maker
Turn a sequence of images into an animated GIF. Set frame rate, quality and dimensions before exporting.