How to Distribute Increases and Decreases Evenly
Master the mathematics of garment shaping: learn how to space increases and decreases uniformly across flat crochet rows without edge flaring or puckering.
The Problem with "Eyeballing" Increases and Decreases
Many crochet patterns include shorthand instructions like:
"Work increases evenly across the row to finish with 110 stitches."
If you currently have 100 stitches and need 110, you must add 10 stitches across the row. If you guess where to place them, you might work 5 stitches between increases at first, realize halfway across that you are running out of stitches, and clump the remaining increases into the final few inches.
Clustered increases create unsightly ruffles and loose waves. Clustered decreases pull the fabric inward, puckering the edge and creating an uneven, distorted silhouette. Uniform distribution is essential for smooth sweater yokes, tapered sleeves, hat crowns, and balanced blanket borders.
Explanatory diagram: Stitches are partitioned into uniform integer groups across the row.
The vector diagram above visualizes 10 increase operations distributed across a 100-stitch row at equal 10-stitch intervals (9 plain stitches followed by 1 increase stitch).
The Mathematics of Uniform Integer Grouping
In standard crochet on a flat row:
- An increase (inc) consumes 1 source stitch and produces 2 target stitches (net gain: +1 stitch).
- A decrease (dec / sc2tog / dc2tog) consumes 2 source stitches and produces 1 target stitch (net loss: -1 stitch).
Worked Example 1: Evenly Divisible Increases (T > N)
Suppose you have N = 100 source stitches and your target is T = 110 stitches:
- Number of increases needed: k = T - N = 110 - 100 = 10 increases.
- Each increase consumes 1 source stitch, so 10 stitches are allocated for increases.
- The remaining stitches are worked plain: plainTotal = N - k = 100 - 10 = 90 plain stitches.
- Divide plain stitches by the number of increases: q = 90 ÷ 10 = 9 plain stitches per group. Remainder r = 0.
Because 90 divides evenly by 10, all 10 intervals are identical:
Row stitch balance: 10 groups × (9 plain + 1 inc source) = 100 source stitches consumed. 10 groups × (9 plain + 2 inc produced) = 110 target stitches produced.
Worked Example 2: Evenly Divisible Decreases (T < N)
Now suppose you have N = 100 source stitches and need to taper to T = 90 stitches:
- Number of decreases needed: k = N - T = 100 - 90 = 10 decreases.
- Each decrease consumes 2 source stitches, so 10 decreases consume 10 × 2 = 20 stitches.
- The remaining stitches are worked plain: plainTotal = 100 - 20 = 80 plain stitches.
- Divide plain stitches by decreases: q = 80 ÷ 10 = 8 plain stitches per group. Remainder r = 0.
Row stitch balance: 10 groups × (8 plain + 2 dec source) = 100 source stitches consumed. 10 groups × (8 plain + 1 dec produced) = 90 target stitches produced.
Handling Uneven Remainders: Accumulator-Based Interleaving
In real craft planning, stitch counts rarely divide with zero remainder. In this worked example, increasing from 50 to 63 stitches requires adding k = 13 stitches across N = 50 source stitches:
- Total plain stitches: plainTotal = 50 - 13 = 37 stitches.
- Base quotient: q = Math.floor(37 / 13) = 2 plain stitches.
- Remainder: r = 37 mod 13 = 11 extra plain stitches.
This means 11 groups must have q + 1 = 3 plain stitches, while 2 groups have q = 2 plain stitches.
Why End-Clustering Fails
A simplistic calculator might place all eleven 3-stitch groups first and tack the two 2-stitch groups at the very end (e.g. [Work 3, inc] × 11, then [Work 2, inc] × 2). This clusters shorter intervals at the left or right edge of your row, causing noticeable tension skew and edge distortion.
The Yarnivo Interleaved Solution
Yarnivo uses an accumulator-based distribution algorithm (similar to Bresenham error distribution) to interleave the shorter and longer intervals uniformly across the entire row. For 50 → 63, the intervals are distributed symmetrically into 5 execution stages:
Row stitch balance: Total stitches consumed = 12 + 3 + 20 + 3 + 12 = 50 stitches. Total stitches produced = 15 + 4 + 25 + 4 + 15 = 63 stitches.
Notice how the two shorter intervals are positioned symmetrically at the 1/4 and 3/4 marks across the row, keeping spacing balanced across the width of the piece.
Single-Pass Mathematical Limits
When working flat rows with standard 1-to-2 increases and 2-to-1 decreases, mathematical boundaries apply to a single row:
- Maximum Increase: You cannot exceed 2N in a single pass (working an increase into every stitch). If you need more stitches (e.g. for a dramatic ruff or circle blanket), you must distribute increases across multiple consecutive rows.
- Maximum Decrease: You cannot reduce below Math.ceil(N / 2) in a single pass (working a decrease across every adjacent pair). Reducing further requires multi-row shaping.
Use our free Increase / Decrease Calculator to generate step-by-step row instructions for any starting and target stitch counts.
Apply This Method in a Calculator
Use our interactive crochet calculators to run the formulas covered in this guide with your own swatch measurements: