StitchKeep-ready · Chart spec, version 1
Making charts StitchKeep reads automatically
StitchKeep's chart marker opens a PDF chart, finds the grid, reads the symbol in every cell and matches the legend to thread codes. When that works, stitchers get symbol highlighting, "go to color", remaining counts per thread and a shopping list without any setup. When it doesn't, they calibrate the grid by hand and still get marking, but lose the symbol features.
This page describes what the detection looks for. It is written from the app's own detection code, so it says what StitchKeep does today, not what it might do later. Most charting programs already produce PDFs like this. If yours does, there is nothing to change.
Want to check a chart? Check it in your browser (nothing is uploaded), use the compatibility checklist, or send us a test chart and we'll run it through StitchKeep's compatibility report and reply with the results.
1. Vector PDF
- Export the chart from your charting program as a PDF, not as a scan, photo or image placed in a PDF. StitchKeep reads the drawing commands and the text, so both must still be there.
- No password to open. Copy or print restrictions are your choice, but a PDF that asks for a password can't be read.
- Put the first chart page within the first 8 pages. On import StitchKeep looks for a chart grid in the first 8 pages and picks the clearest one. A chart further back is still found, but only once the stitcher turns to its page while calibrating, so a long cover section, instructions or mock-up photos before the chart cost them a step.
- Keep the legend (key) on the chart page, within the first 12 pages or within the last 4 pages. See Legend.
2. Grid lines
- Draw the grid as lines: stroked paths, or thin filled rectangles (2.5 pt thick or less), which is how many programs draw them. Grid lines must be straight, horizontal or vertical, and at least 30 pt long.
- A chart placed as artwork in a layout program (an InDesign or Illustrator booklet, where the chart becomes a form XObject) is read like one drawn on the page, scaled and moved as placed. Up to 8 levels of nested placement are read.
- At least 20 × 20 cells on each chart page. Smaller grids are treated as alphabets, mock-ups or fabric textures, not charts.
- Square cells, the same size across the page. Cells must be at least 4 pt; we recommend 8 pt or more so symbols stay readable on a phone. Detection loses confidence when width and height differ by more than about 20%.
- Every grid line drawn, from edge to edge. A single missing line is tolerated, but lines that stop short of the grid's edges are ignored.
- Every 10th line heavier in both directions, at least 1.4 times the thin line width (for example 1.2 pt against 0.4 pt). This is the strongest signal that a grid is a chart, and it helps stitchers count. The outer border can be heavy too.
- Don't put other evenly spaced lines (ruled note areas, decorative borders) right against the grid, where they can extend it by a row.
3. Symbols and fonts
- Draw symbols as text in an embedded font. Symbols converted to outlines or images can't be read; the chart then works for marking only.
- Any font works, including symbol and private-use fonts. StitchKeep keys each symbol by font name and character, so the same character code in two fonts counts as two symbols. Font subset prefixes (the
ABCDEF+part) are ignored. - One symbol per cell, centered. The cell is chosen by the center of the glyph. Two-character symbols are read left to right as one symbol.
- Keep symbols smaller than about 2.5 cells tall. Larger text over the grid (titles, watermarks) is ignored, which is what you want for watermarks.
- Colored cell backgrounds behind the symbols are fine. Blank cells mean "no stitch".
4. Legend and thread codes
- One row per symbol, starting with the same symbol in the same font, followed by the thread:
X DMC 310 Black 1,234. - DMC codes: write
DMC 310, or put the DMC number among the first words after the symbol (X 310 Black). Other catalogued brands need the brand name before the code:Anchor 403,COSMO 2500,Madeira 2400,Weeks Dye Works 1092. - Stitch counts are optional. When printed, StitchKeep takes the largest number after the thread code, ignoring numbers marked as skeins or strands (
2 skeins,2 str). StitchKeep counts cells itself either way. - Several legend columns are fine when the columns are separated by a clear gap (wider than about twice the text height).
- Rows containing the words fabric, Aida, linen, evenweave, count, size or stitches are treated as fabric notes, so "14 count Aida" doesn't turn into a thread. In those rows a code is only read when the brand name comes before it: write
X DMC 310 Black 1,234 stitches, notX 310 Black 1,234 stitches. - Blends and specialty threads: rows without a recognized code are kept with their text, and the stitcher assigns a thread on the verify screen.
5. Multi-page charts and overlap
- Use the same cell size on every chart page, with each page's grid meeting the rules above (20 × 20 cells or more).
- Repeat 1 to 3 rows or columns at each page break (shaded or not). StitchKeep compares the symbols along the edges and joins pages when at least 90% of them match, so the stitcher doesn't place pages by hand. Without a repeated strip, pages still work; the stitcher places each one.
- Order pages left to right, then top to bottom, and number them on a page map if you can. StitchKeep suggests the next page in PDF order.
6. What isn't read from a PDF yet
From a PDF, StitchKeep reads full cross stitches (the symbols). Backstitch lines, fractional stitches, French knots and beads drawn on the chart are shown on the page but not read as stitches; stitchers can add them with the marker's tools. To give stitchers all of them automatically, include an OXS file (below).
7. OXS files
StitchKeep also opens OXS ("Open Cross Stitch") files, the XML format written by WinStitch / MacStitch, KG-Chart, Pattern Keeper, Embroiderly and others. An OXS file carries full, half, three-quarter and backstitches, knots and beads with their threads, so nothing needs detecting. Offering an OXS next to the PDF is the most complete option.
Changes to this spec
Version 1 (October 2026). When detection changes, this page changes with it, and designers in the program hear about it by email first.