Calculate the perfect stitch count for a flat circle.
6 (Standard for SC)
8 (Standard for HDC)
10 (Wide HDC/Tight DC)
12 (Standard for DC)
Round Summary:
Total Stitches:
Number of Increases:
Stitch Pattern:
How to Crochet a Perfect Flat Circle
Crocheting a flat circle is a foundational skill for making hats, coasters, amigurumi, and rugs. The secret to a circle that doesn't "bowl" (curl up) or "ripple" (become wavy) lies in consistent mathematical increases.
The Basic Formula for Circle Increases
To keep a circle flat, you must increase the number of stitches in each round by the same number of stitches you started with in Round 1. This is often called the "Magic Number" rule.
Single Crochet (sc): Usually starts with 6 stitches. Increase by 6 every round.
Half Double Crochet (hdc): Usually starts with 8 stitches. Increase by 8 every round.
Double Crochet (dc): Usually starts with 12 stitches. Increase by 12 every round.
Understanding the Pattern Logic
The distribution of increases is what creates the shape. If you are on Round 5 and started with 6 stitches, your total count should be 30 (6 x 5). The pattern usually follows a sequence of plain stitches followed by an increase (2 stitches in one hole).
Standard Crochet Circle Increase Chart
Round
Increase Pattern
Total (Starting 6)
Round 1
Magic Ring or Ch 2, [X] stitches
6
Round 2
Increase in every stitch
12
Round 3
[Inc, 1 st] repeat
18
Round 4
[Inc, 2 st] repeat
24
Troubleshooting Your Circle
Is your circle ruffling? You have too many stitches. Try starting with a smaller number or check that you didn't accidentally add extra increases.
Is your circle curling into a bowl? Your tension is too tight or you don't have enough stitches. Ensure you are increasing by the full starting amount every single round.
function calculateCrochetCircle() {
var startStitches = parseInt(document.getElementById('startStitches').value);
var targetRound = parseInt(document.getElementById('targetRound').value);
var resultDiv = document.getElementById('crochetResult');
if (isNaN(targetRound) || targetRound < 1) {
alert("Please enter a valid round number (1 or higher).");
return;
}
var totalStitches = startStitches * targetRound;
var numIncreases = startStitches;
var pattern = "";
if (targetRound === 1) {
pattern = "Work " + startStitches + " stitches into a magic ring (or chain loop).";
numIncreases = 0;
} else if (targetRound === 2) {
pattern = "Work 2 stitches into every stitch around (Increase in every stitch).";
} else {
var plainStitches = targetRound – 2;
var stitchWord = (plainStitches === 1) ? "stitch" : "stitches";
pattern = "*Increase in the next stitch, work " + plainStitches + " " + stitchWord + " plain.* Repeat from * to * " + startStitches + " times.";
}
document.getElementById('resTotalStitches').innerText = totalStitches;
document.getElementById('resIncreases').innerText = numIncreases;
document.getElementById('resPattern').innerText = pattern;
resultDiv.style.display = 'block';
}