Cross stitch calculator

Compare finished design and fabric sizes across stitch counts using one pattern and one margin.

Enter a whole number from 1 to 1,000,000.
Enter a whole number from 1 to 1,000,000.
Enter 1–8 counts separated by commas. Add or remove a count by editing the list; duplicate values are counted once. Use 0.1–200, with up to 4 decimal places.

Enter stitches per inch after allowing for how many fabric threads each cross covers. For example, 28 threads per inch worked over two gives 14 stitches per inch. No automatic fabric adjustment is applied.

Enter 0–1,000 in the selected unit, with up to 4 decimal places. The example of 2 in is not a recommended minimum.

Changing units preserves the exact margin. A converted input may show a rounded value; editing it replaces the retained margin.

Size comparison — width × height
Stitches/inFinished designWith marginFabric rounded up
1410.00 × 7.14 in
25.40 × 18.14 cm
14.00 × 11.14 in
35.56 × 28.30 cm
14 × 12 in
36 × 29 cm
168.75 × 6.25 in
22.23 × 15.88 cm
12.75 × 10.25 in
32.39 × 26.04 cm
13 × 11 in
33 × 27 cm
187.78 × 5.56 in
19.76 × 14.11 cm
11.78 × 9.56 in
29.92 × 24.27 cm
12 × 10 in
30 × 25 cm

Each length is displayed to 2 decimal places. Fabric is rounded up separately to whole inches and whole centimeters from the unrounded values; these are two different size options.

Convert a single length with Inches to cm.

Calculation rules

Finished width = pattern width ÷ effective count; finished height = pattern height ÷ effective count. Count means stitches per inch, not necessarily the fabric’s threads per inch.

Fabric width and height each equal the corresponding finished length plus twice the margin on one edge. You choose the allowance for your project; shrinkage, seams, framing and shop sizes are not automatically included.

One inch is exactly 2.54 cm (127/50 cm). Calculations retain exact fractions. Displayed lengths round once to two decimal places, with an exact halfway value rounded up. Whole-unit fabric sizes round up directly from the unrounded length in each unit.

For example, a 140 × 100 stitch pattern at 14 stitches per inch finishes at 10.00 × 7.14 in. A 2 in margin on every edge gives 14.00 × 11.14 in before whole-unit rounding: choose 14 × 12 in or, independently, 36 × 29 cm.

Input limits are calculator support limits, not fabric specifications. Only dot decimals are accepted; exponents, thousands separators, negative values and inputs longer than 32 characters per number are not supported.

Sources and definitions

NIST — SI Units: Length

Source for the exact inch-to-centimeter conversion. The rounding and fabric-size rules here are our calculation policy.

Yarn Tree — Cross Stitch Calculator

Terminology reference for fabric threads per inch, stitching over threads and extra space on each edge.

Frequently asked questions

What count should I use for over-two stitching?
Divide the fabric threads per inch by the number of threads each cross covers. For 28 threads per inch worked over two, enter 14. Use your pattern’s stitching method; the calculator does not infer it from fabric type.
How much margin should I add?
Enter the extra length you want on each of the four edges. The 2 in starting value is an example. Decide the allowance for your finishing method; it is not a guarantee that a particular margin is sufficient.
Why are the rounded inch and centimeter sizes different?
Each rounds up independently to a whole unit. A length of 14 in equals 35.56 cm, so the centimeter option rounds to 36 cm. Converting the rounded inch option does not produce the independent centimeter option.
Does this calculate floss or generate a pattern?
No. It compares design and fabric dimensions from stitch counts. It does not generate patterns, estimate floss, recommend needles or products, or compensate for shrinkage.

Privacy on this page

Calculations run in your browser. The values you enter are not sent to the server or saved in browser storage. Reloading the page returns the inputs to their initial state.

To understand how the page is used and to improve the service, this page sends semku’s own usage statistics and automatic error reports. They go only to the dedicated endpoint under semku.com/api/telemetry/v1/. They are not used for advertising or third-party tracking.

The usage statistics include stages of use (such as starting an operation or requesting a copy), the times they occur and fixed identifiers that distinguish the page and feature. They do not include the values you enter, the results shown or the text you copy. Inputs are not sent as hashes or as size categories either. The full URL and search terms are not sent.

Operations and sessions are distinguished by randomly generated identifiers. In the browser, these identifiers exist only in temporary memory and are not written to cookies or browser storage. No identification based on cookies or combined device characteristics is used.

Error reports contain the error type, code and time, and, where available, a registered program-source identifier with line and column numbers. The error message text and stack traces are not sent. Usage statistics and error reports also carry the site identifier, the deployment version and a random record identifier. For access records such as IP addresses, browser signals (User-Agent Client Hints), region and language, see the paragraph below.

The feedback form sends the rating you chose and the text you typed in the free-text field when you press the send button. The form also sends a random ID that distinguishes the submission, along with the page, site, deployment version and type of request. There are no fields for your name, email address or phone number, and the values you enter are not attached automatically. Before sending your text, the widget removes leading and trailing whitespace and, if you selected a rating, adds [+1] or [-1] at the start; it makes no other changes to your text. After receipt, the collector standardizes line endings and removes leading and trailing whitespace. Please do not enter personal data, passwords, authentication keys or payment details.

To improve the service, we record the country and state/province-level region at the time of your visit (an estimate based on the connecting network), which site you came from including the page path, and one display-language setting announced by your browser (for example, en-US). Location is kept to country and region only; no city or precise position is recorded. When you use the service, connection records, including your IP address, are automatically generated and retained to maintain service security and identify abnormal access. Cloudflare is the data processor for this site. Collection of this item is enabled only after this notice is published; we do not collect it retrospectively for use before collection is enabled. Query strings such as search terms are not recorded, and neither is the full list of preferred languages or the raw request headers. Collection of this information is currently disabled and will only be enabled after this notice is published. If we enable collection, we will collect and use signals your browser reports about its type and version, along with an indication of whether automation tools are being used, to identify bots. These browser signals are estimates and do not conclusively identify your browser's type or version or whether automation tools are being used. We do not collect it retrospectively for use before collection is enabled. The raw User-Agent request header is not recorded. These records are per visit only and use no identifier that links one visit to another. Recording starts only with visits after this notice is published and is not applied retroactively to earlier visits. The region and the referring site have been recorded since 2026-09-20; the display language since 2026-09-24. Browser signals are not recorded yet.

Separately, when you visit the site, the hosting provider records your IP address, the time of the request and user-agent information about your browser and device in Cloudflare Pages’ standard access logs.

For details, see the privacy policy.

Calculations run in your browser without sending your calculation inputs or results to the server. See “Privacy on this page” for information about access data.