# Petit Point > A needlepoint chart maker that runs in the browser, for the needlepoint revival - slogan canvases, photo canvases for bags, ornaments and pillows. Drop a photo or type a slogan, choose the mesh and size, and get a stitch-for-stitch chart with a short yarn list, symbols, a colour key and yarn and time estimates. Then get a stitch plan for that exact chart. URL: https://petit-point.skillsafe.ai/ API: https://petit-point.skillsafe.ai/api.html ## What runs free, in the browser - Photo to chart: the photo is box-averaged to one cell per tent stitch (width in inches x mesh), reduced to 2-16 colours with median cut and k-means in CIE Lab, and each colour is snapped to the nearest unused swatch from a 48-colour yarn palette (codes W01-W48; names and colours are this app's own approximations, not a manufacturer's colour numbers). Optional ordered (4x4 Bayer) dithering; optional tidying of lone stitches. The photo never leaves the browser. - Slogan to chart: up to three lines drawn from a built-in 5x7 stitch font, scaled by a whole number of stitches so every stroke is stitch-aligned, with an optional border. - Mesh 10, 12, 13, 14 or 18 holes per inch; finished size and the canvas to cut (2 in margins). - Chart view in colour, symbols or both, with 10-stitch grid lines; a paint brush (mouse, touch, or arrow keys and Space), undo and colour swaps. Charts are capped at 200 stitches a side, and the page says so when a size or slogan is cut. - Yarn card: stitches, share and yards per colour. Yardage uses rough yards-per-square-inch figures by mesh plus 15% waste; hours use rough stitches-per-hour rates by experience. Both are estimates. - What the page noticed: lone stitches, patches of 3 stitches or fewer, low-contrast neighbouring colours (colour difference under 12), the background colour, letter stroke width. - Exports: chart PNG, colour key CSV, Markdown, JSON (with the chart as symbol rows), a printable chart (an overview, plus numbered pages of up to 50 x 70 stitches at 8 stitches an inch for bigger charts, with the centre marked). History saved to your account (collection `canvases`) with a browser mirror; photos are never stored. ## The metered step - task "plan" (built on @omer-metin/pixel-art-sprites): a readability verdict (reads / tweak / rework) with issues located on the chart and fixes; palette moves (merge, swap, outline, keep) - merges and swaps apply to the chart with one button so you can re-plan; one stitch per colour (basketweave, continental, half cross, or a decorative background stitch such as scotch, mosaic or byzantine); the order of work; finishing steps for the project (bag, ornament, pillow, belt, coaster, key fob, wall hanging, eyeglass case); a time range; tips; warnings. - The model receives the chart's counts, the palette and a coarse text map - not the photo. ## Checked against the chart Every reply is reconciled with the page's own counts: colours with no stitch, codes that are not in the chart, palette moves naming unknown codes or swaps with no valid target, a "reads" verdict that ignores many lone stitches, low-contrast pairs the plan does not address, a time range far from the stitch count, half cross on a piece that gets handled. ## Sources Built on the SkillSafe skill @omer-metin/pixel-art-sprites (pixel art fundamentals: limited palettes, dithering, readability at low resolution). Part of SkillSafe - https://skillsafe.ai/