Rock Density Calculator: Matrix and Bulk Density from Mineral Composition
Rock Density Calculator
Build a rock from its mineral recipe. Enter the volume fraction and density of each mineral and the calculator applies the volumetric mixing rule to get matrix (grain) density, then optionally layers in porosity and pore fluid to get bulk density.
| Mineral | Volume % | Density (g/cm3) | Contribution |
|---|
Matrix density uses the volumetric mixing rule: density = sum of (volume fraction times mineral density). Bulk density, when enabled, adds porosity and pore fluid: bulk = (1 minus porosity) times matrix density, plus porosity times fluid density.

Why Rock Density Is Really a Recipe
A rock is not one material, it is a mixture of minerals, each with its own grain density, packed together with some amount of pore space. Matrix density, also called grain density, describes only the solid framework, no pores included. It is what you would measure by crushing a rock sample down to grains and weighing the solids. Every porosity tool used in log analysis, density, sonic, or neutron, is calibrated against an assumed matrix density, so getting that number right matters more than it might seem.
The volumetric mixing rule used above is the standard way to build that number from a mineral recipe: multiply each mineral's volume fraction by its own grain density, then add the contributions together. It is the same principle as calculating the density of an alloy from its component metals, just applied to a rock's mineral framework instead.
Checking the Math Against a Known Mineral
The mixing rule is easy to sanity check at the extremes. Set the composition to 100 percent quartz and the calculator should return exactly 2.65 g/cm3, the accepted grain density of quartz. Do the same for 100 percent calcite and it should return 2.71 g/cm3. The default sandstone preset above, 88 percent quartz, 5 percent K-feldspar, 5 percent clay, and 2 percent calcite, works out to 0.88(2.65) + 0.05(2.56) + 0.05(2.75) + 0.02(2.71) = 2.65 g/cm3, which sits right where a clean, slightly clay-bearing quartz sandstone should. The mineral density values built into the calculator match the standard reference figures published in the AusIMM mineral density reference table, so you can cross-check any of the presets directly against that source.
From Matrix to Bulk Density
Matrix density is only half the picture once a rock is in the ground. A logging tool or a hand sample reads bulk density, the matrix plus whatever fluid sits in the pore space, water, oil, or gas. The bulk density equation is direct: bulk equals (1 minus porosity) times matrix density, plus porosity times fluid density. Flip the toggle above to layer that correction on top of any matrix density you have built, and see how much a few percentage points of porosity or a lighter pore fluid pulls the reading down.
Common Mistakes
- Letting volume fractions add up to something other than 100 percent, which quietly skews the weighted average.
- Using a clay mineral density figure meant for dry, unhydrated clay when the clay in the rock is actually swelling or hydrated, which runs lower.
- Confusing matrix density with bulk density when pulling a number from a log header or a lab report.
- Applying a single average pore fluid density across a zone that actually has mixed oil, water, and gas saturations.
Who Uses This
- Petrophysicists building or checking a matrix density value for a specific lithology before running a density-porosity log.
- Geology students learning how the volumetric mixing rule connects mineralogy to bulk rock properties.
- Rock physicists and geomechanical engineers who need a matrix or bulk density input for a separate modulus or velocity calculation.
Try It Above
Start from one of the rock-type presets, or clear the table and build your own mineral recipe row by row. Turn on the porosity and pore fluid section any time you need bulk density rather than matrix density alone.
Related Calculators and References
The matrix density from this calculator is a direct input to the Porosity Calculator, which uses it to turn a bulk density log into a porosity value. It also feeds the Gassmann Fluid Substitution Calculator, where mineral and fluid density both drive the predicted velocity change. For the mineral density reference values used here, see the AusIMM mineral density table.
