Cross-stitch prep for math nerds
2026-07-20
Tags: Art
I've done quite a bit of fibre arts over the years, and surprisingly enough, picking up the right supplies in the right quantities is probably the hardest part. This post details how to figure out exactly what supplies you need via mathematics and geometry.
Important
For brevity, I've skipped writing \(\lceil\text{ceil}\rceil\) annotations around every equation in this post, but it's important to always round up to the nearest integer in these calculations.
Rounding down can result in underestimating values. In the best case, this means that you need to buy more supplies; in the worst case, your pattern can end up larger than your hoop by a few stitches, and you may have to compromise or start over.
Framing The Pattern
The first step in choosing a good hoop and aida is ensuring that the working canvas is square. If it's not already square-shaped, pad it onto a square whose sides are of the length of the longer side of the pattern, then shift the pattern down (if it's wider than it is tall) or right (if it's taller than it is wide) by \({|w-h|}\over{2}\) pixels to ensure that it is centered in the smaller dimension. We'll call this side length \(n\).
Next, create a circle whose diameter \(d\) is equal to \(n\). The circle should fit perfectly inside the bounds of the square, such that each of its sides are tangent to the circle at \(n\over 2\) on the square's sides and at intervals of \(90^{\circ}\) (\({1 \over 2}\pi\text{ rad}\)) around the circle.
If this frames the pattern well, great! If not, we can use some maths to fit it better.
To make the square fit perfectly within the circle, we need to scale the square by a factor of \(1\over{\sqrt{2}}\) about its center.
Tip
For graphics programmers, this can also be thought of as scaling it about its top-left point, then applying a transformation of \({{1\over 2}(n - {1\over \sqrt{2}}n)}\) in both dimensions. The translation required will be at most \({n(2-\sqrt{2})}\over{4}\).
Most of the time you'll want a scale factor somewhere between \(1\) and \(1\over{\sqrt{2}}\). We can express this by substituting an arbitrary value \(s\) for our scale factor, so side length becomes \(sn\) and transformation becomes \({1\over 2}(n - sn)\).
Tip
The transformation equation \({1\over 2}(n - sn)\) may also be expressed as \({n(1-s)}\over 2\), which may be easier to calculate since we only use \(n\) once.
Note that due to floating point mathematics and the difference in order of operations, these may produce very subtly different answers on a computer or calculator, in the realm of \(\pm2.0\times10^{-16}\).
Choosing a Stitch Count
Next, we need to choose our stitch count. Stitch count is a little like DPI (dots per inch), in that it expresses how many stitches will fit into 1 inch of aida. A higher stitch count means a more detailed pattern, but is trickier to work with.
*To fit on screens, these representations have been scaled down to 25% of their actual size. These are actually 40, 60, and 80 stitch counts.
Most aida comes with a stitch count of between 10 and 20. It's largely a matter of personal preference and comfort which is used, but note that halfing the stitch count will quarter the actual size and thread requirements.
Choosing a Hoop
Once we've chosen our stitch count, which we will call \(c\), we can find the diameter of the hoop very easily.
We need a hoop that can fit the full diagonal of our pattern with our stitch count. First we need the real side length of our pattern, which is our calculated side length \(n\) divided by stitch count \(c\). This can be expressed as \(L\text{ (in)} = {n\over c}\). To find the minimum diameter, we apply Pythagoras' theorem: \(d_{min} \text{ (in)} = \sqrt{L^2 + L^2}\). This can be simpliefied to \(L\sqrt{2}\) or alternatively expressed as \({n\sqrt{2}}\over{c}\).
Measuring Thread
For a contiguous run of stitches worked with maximum efficiency, the theoretical minimum thread length for \(n\) stitches is \(4n-1\) (including the ones on the back of the aida). Each of these lines will measure \({1\over c}\text{ in}\), so for \(n\) stitches of a given colour, you'll need \({1\over c}(4n-1)\text{ in}\) of thread.
In reality, you'll use a little more than this equation accounts for. Be sure to pick up a little extra to account for loose tension, as well as for tying knots.