This is the length of one single edge of the hexagon.
How to Use the Hexagon Quilt Calculator
Planning a hexagon quilt (often called a "Grandmother's Flower Garden") requires understanding the unique geometry of a six-sided shape. Unlike squares, hexagons nest together, which means they don't follow a standard grid. Our calculator does the heavy lifting to ensure you don't run out of fabric halfway through your English Paper Piecing (EPP) project.
Understanding Hexagon Dimensions
When measuring a hexagon for quilting, there are two key dimensions to keep in mind:
Side Length: The length of one of the six equal sides. This is the size most quilters refer to (e.g., a "1-inch hexie").
Point-to-Point Width: Exactly twice the side length.
Flat-to-Flat Height: Approximately 1.732 times the side length.
The Math Behind the Layout
In a standard staggered hexagon layout, the horizontal distance between the centers of two adjacent hexagons is 1.5 × Side Length. The vertical distance between rows is 0.866 × Side Length (or half of the flat-to-flat height).
This calculator determines how many full and partial hexagons are required to cover your target area, then adds a safety buffer for cutting errors and seam allowances.
Example Calculation
If you are making a 40″ x 50″ lap quilt using 1-inch hexagons:
Columns: 40 / (1.5 * 1) = ~27 columns.
Rows: 50 / (1.732 * 1) = ~29 rows.
Total Base: 27 * 29 = 783 hexagons.
With 10% Buffer: Approximately 861 hexagons total.
Pro Tips for Hexagon Quilting
Cutting Fabric: Always cut your fabric squares at least 1/2″ to 3/4″ larger than your finished hexagon template to allow for the seam allowance to be folded over the paper.
Grain Line: Try to keep the grain of the fabric consistent across your hexagons to prevent stretching when you whipstitch them together.
Thread Choice: Use a fine, strong thread (like 80wt or 100wt polyester or cotton) for EPP so your stitches disappear into the seams.
function calculateHexies() {
var width = parseFloat(document.getElementById('quiltWidth').value);
var length = parseFloat(document.getElementById('quiltLength').value);
var side = parseFloat(document.getElementById('sideLength').value);
var bufferPercent = parseFloat(document.getElementById('buffer').value);
var resultDiv = document.getElementById('hexResult');
if (isNaN(width) || isNaN(length) || isNaN(side) || width <= 0 || length <= 0 || side <= 0) {
resultDiv.style.display = 'block';
resultDiv.innerHTML = 'Please enter positive numbers for all dimensions.';
return;
}
// Geometry constants
// Width of one hex (point to point) = 2 * side
// Height of one hex (flat to flat) = sqrt(3) * side
var hexWidth = 2 * side;
var hexHeight = Math.sqrt(3) * side;
// Horizontal spacing in a staggered grid is 1.5 * side
var colSpacing = 1.5 * side;
// Vertical spacing is the flat-to-flat height
var rowSpacing = hexHeight;
// Calculate count
var cols = Math.ceil(width / colSpacing);
var rows = Math.ceil(length / rowSpacing);
// Add one extra column/row to ensure full coverage of the edges
var totalBase = cols * rows;
var bufferAmount = isNaN(bufferPercent) ? 0 : (totalBase * (bufferPercent / 100));
var finalTotal = Math.ceil(totalBase + bufferAmount);
var html = '
Calculation Results
';
html += '
';
html += '
';
html += 'Total Hexagons';
html += '' + finalTotal + '';
html += '
';
html += '
';
html += 'Columns';
html += '' + cols + '';
html += '
';
html += '
';
html += 'Rows';
html += '' + rows + '';
html += '
';
html += '
';
html += '
';
html += 'Design Specifications:';
html += '• Finished Hexagon Height: ' + hexHeight.toFixed(2) + ' inches (flat-to-flat)';
html += '• Finished Hexagon Width: ' + hexWidth.toFixed(2) + ' inches (point-to-point)';
html += '• Base Count (Exact Fit): ' + totalBase + ' pieces';
html += '• Buffer Added: ' + Math.ceil(bufferAmount) + ' extra pieces';
html += '