An "ACI concrete mix design Excel sheet" is a spreadsheet implementing the American Concrete Institute (ACI) mix design procedure to compute proportions of cement, water, coarse and fine aggregate, and admixtures to achieve a target compressive strength and workability. Below is a concise, practical description of what such a sheet contains and how to use it.

Concrete is the backbone of modern infrastructure. From skyscrapers to sidewalks, the durability, strength, and workability of concrete depend entirely on one critical process: mix design. For engineers and concrete technologists worldwide, the standard for this process is the American Concrete Institute (ACI) Method, specifically ACI 211.1.

However, performing ACI mix design manually is tedious. It involves iterative calculations, specific gravity adjustments, moisture corrections, and trial batches. This is where an ACI Concrete Mix Design Excel Sheet becomes an indispensable tool.

In this article, we will explore what ACI mix design is, why an Excel spreadsheet is the perfect solution, how to build or use one effectively, and where to download reliable templates.


From ACI Table 6.3.4 (a) for strength:

For professionals who perform multiple designs daily, consider:

However, the ACI concrete mix design Excel sheet remains the gold standard for accessibility – no expensive software licenses, no steep learning curve, just robust engineering in a familiar interface.


Excel multiplies all weights by a small factor to produce a 10–20 liter trial batch.


ws.cell(row=row, column=1, value="MOISTURE & ABSORPTION CORRECTION").font = header_font ws.cell(row=row, column=1).fill = header_fill ws.merge_cells(start_row=row, start_column=1, end_row=row, end_column=4) row += 1

ws.cell(row=row, column=1, value="Coarse Aggregate Correction (lb/yd³)") ws.cell(row=row, column=2, value="=D10*(B16-B14)/100") ws.cell(row=row, column=3, value="Adjustment") row += 1 ws.cell(row=row, column=1, value="Fine Aggregate Correction (lb/yd³)") ws.cell(row=row, column=2, value="=D21*(B17-B15)/100") row += 1 ws.cell(row=row, column=1, value="Water Adjustment (lb/yd³)") ws.cell(row=row, column=2, value="=-(B25+B26)") row += 1 ws.cell(row=row, column=1, value="Adjusted Water (lb/yd³)") ws.cell(row=row, column=2, value="=D3+B27") row += 1 ws.cell(row=row, column=1, value="Adjusted CA Weight (lb/yd³)") ws.cell(row=row, column=2, value="=D10+B25") row += 1 ws.cell(row=row, column=1, value="Adjusted FA Weight (lb/yd³)") ws.cell(row=row, column=2, value="=D21+B26") row += 2