Calculate perfectly even stitch reductions for your projects
Your Decrease Pattern
How to Calculate Crochet Decreases Evenly
When working in the round or across a flat row, "decreasing evenly" is often required to maintain the shape of hats, sweaters, or amigurumi. If you simply bunch all your decreases at the end of the row, your project will look lopsided. This calculator determines the exact interval needed to distribute your decreases across the entire row.
The Mathematical Formula
To find the interval, we use the following logic:
Total Decreases Needed: Starting Stitches – Target Stitches.
Stitch Interval: Starting Stitches รท Total Decreases.
Pattern: (Stitch Count per Set – 2) then 1 Decrease.
Practical Example
If you have 40 stitches and need to get down to 32 stitches:
You need to decrease 8 times.
40 divided by 8 is 5.
This means every "set" of stitches is 5 stitches wide. Since a decrease (like a sc2tog) uses 2 stitches, you would: *Sc in next 3 stitches, Decrease* and repeat that 8 times.
Dealing with Remainders
If your starting stitch count isn't perfectly divisible by the number of decreases, you will have a few "extra" stitches left over at the end of the row. Our calculator identifies these remaining stitches so you can simply work a standard stitch (sc/dc) into them at the end of your round to keep the count accurate.
function calculateCrochetDecrease() {
var start = parseInt(document.getElementById('startingStitches').value);
var target = parseInt(document.getElementById('targetStitches').value);
var resultDiv = document.getElementById('decreaseResult');
var output = document.getElementById('resultOutput');
if (isNaN(start) || isNaN(target)) {
alert("Please enter valid numbers for both fields.");
return;
}
if (target >= start) {
alert("Target stitches must be less than starting stitches to calculate a decrease.");
return;
}
var totalDecreases = start – target;
var interval = Math.floor(start / totalDecreases);
var scCount = interval – 2;
var remainder = start % totalDecreases;
var resultHTML = "Total Decreases to Work: " + totalDecreases + "";
if (scCount < 0) {
resultHTML += "Warning: You are decreasing more than half of your stitches. You may need to decrease every stitch (sc2tog across).";
} else {
var patternText = "";
if (scCount === 0) {
patternText = "*Decrease (sc2tog/dc2tog)* repeat " + totalDecreases + " times";
} else {
var stitchTerm = scCount === 1 ? "stitch" : "stitches";
patternText = "*Work " + scCount + " " + stitchTerm + ", Decrease* repeat " + totalDecreases + " times";
}
resultHTML += "Suggested Pattern: " + patternText + ".";
if (remainder > 0) {
var remTerm = remainder === 1 ? "stitch" : "stitches";
resultHTML += "Note: After completing the repeats, you will have " + remainder + " extra " + remTerm + " remaining. Simply work 1 stitch into each of these at the end of the row.";
} else {
resultHTML += "The decreases fit perfectly! No remainder stitches.";
}
}
output.innerHTML = resultHTML;
resultDiv.style.display = 'block';
}