Knit It Once

Granny square calculator

Turn the blanket size and square size into columns, rows, and a total square count.

Units
Craft
Use inches for every measurement. Enter your target blanket size and the finished size of one blocked square.
Blanket dimensions

The width you want the finished blanket to be.

The height you want the finished blanket to be.

The border added on each side, outside the squares.

Square and join measurements

The size of one square after blocking.

Extra width one seam adds between squares. Use 0 if unsure.

Optional yarn details

Optional. Yardage one square uses.

Optional. Yardage the border uses.

Optional. For a skein count.

The finished width differs from the target by 8.0%. Whole squares rarely land exactly on a target. Adjust the square size or accept the drift.

Enter the yardage one square uses to get a total yarn estimate.

Your result

9 columns × 11 rows99 squares total

Target: 50 × 66 in

Calculated finished size: 54 × 66 in (+4 in wide, +0 in tall)

Body size (squares and joins only): 54 × 66 in

Joins add: 0 in in total across both axes

Layout preview

Layout preview: 9 columns by 11 rows, 99 squares total.

Show the math

Lay out 9 columns and 11 rows of 6 in squares, 99 squares total, for a 54 × 66 in finished blanket. Add a yarn-per-square figure to estimate total yarn.

The arithmetic behind this result, step by step
Usable width50 in - 2 × 0 in= 50 in
Usable height66 in - 2 × 0 in= 66 in
Square + join6 in + 0 in= 6 in
Columnsceil((50 + 0) ÷ 6)= 9 columns
Rowsceil((66 + 0) ÷ 6)= 11 rows
Total squares9 × 11= 99 squares
Body width9 × 6 + 8 × 0= 54 in
Body height11 × 6 + 10 × 0= 66 in
Finished width54 in + 2 × 0 in= 54 in
Finished height66 in + 2 × 0 in= 66 in

Whole squares only, so counts round up to reach the target. Square size must be measured after blocking.

The general formula

available_width = target_width - 2 × border_width
available_height = target_height - 2 × border_width
columns = ceil((available_width + join) ÷ (square + join))
rows = ceil((available_height + join) ÷ (square + join))
total_squares = columns × rows
body_width = columns × square + (columns - 1) × join
body_height = rows × square + (rows - 1) × join
finished_width = body_width + 2 × border_width
finished_height = body_height + 2 × border_width
total_yarn = yarn_per_square × total_squares + border_yarn

Next

Making them one by one?

Track them in the row counter
What this calculation does not account for
  • Square size must be measured after blocking. Squares grow when blocked.
  • Join width depends on the joining method you use.
  • Squares may not all block to exactly the same size.
  • Borders may stretch differently from the square fabric.
  • Yarn usage varies by stitch pattern, tension, and finishing.
  • This is a layout calculator, not a crochet pattern.
Last updated 6 August 2026Found a wrong number? Tell us.
How to use this
  1. Enter the finished blanket size you want, and any border width you plan to add around the squares.
  2. Enter your square size from a blocked square worked in your actual yarn and stitch pattern.
  3. Enter a join allowance if your joining method adds width between squares. Leave it at 0 if unsure.
  4. Optionally add yarn details to estimate total yardage and skein count.

For a solid, continuous blanket worked in rows instead of squares, use the blanket size calculator. To check your yarn from a swatch, use the yarn estimator.