Porosity Calculator: Density, Sonic, and Neutron Log Methods

All tools
Report

Porosity Calculator

Calculate porosity from a density, sonic, or neutron log reading, build a density-neutron crossplot model to flag gas effect, or solve for the matrix, fluid, or bulk density a target porosity requires. Everything updates live.

Porosity From a Single Log Method

Porosity
-
Density porosity equals matrix density minus bulk density, divided by matrix density minus fluid density. It assumes the matrix and fluid densities used match the actual rock and fluid in the interval, an incorrect matrix assumption is one of the most common sources of porosity error from a density log.

Density-Neutron Crossplot Model

DepthBulk DensityNeutron PorosityDensity PorosityCombined PorosityFlag
Density porosity is computed from bulk density using the matrix and fluid density above. Combined porosity uses the arithmetic mean of density and neutron porosity by default, but automatically switches to the square root mean when density porosity reads more than 4 porosity units above neutron porosity, the classic gas crossover signature, since gas lowers neutron porosity and raises apparent density porosity at the same time.
Porosity vs Depth
Density porosity Neutron porosity Combined porosity

Solve for Matrix, Fluid, or Bulk Density

Solved Matrix Density
-
Choose which density is unknown, the other two densities plus the known porosity stay editable and the missing density solves directly from the density porosity equation, no iteration needed. Useful for checking whether an assumed matrix density is consistent with a core measured porosity, or for estimating an unknown fluid density from a known porosity and log reading.

Calculate porosity from a density, sonic, or neutron log reading, build a density-neutron crossplot model to flag possible gas effect across a set of depth points, or solve for the matrix, fluid, or bulk density a target porosity requires. Everything updates live.

Three Ways to Measure Porosity

Porosity is the fraction of a rock's volume that is pore space rather than solid grains, and it is usually the very first number a petrophysicist pulls from a well log. There is no single porosity log, three different measurements, density, sonic, and neutron, each infer porosity a different way, and each carries its own assumptions and failure modes. This tool works through all three, plus the crossplot check most analysts run to catch the biggest source of error, gas effect.

Start with a single log reading using whichever method you have, density, sonic, or neutron. Build a density-neutron crossplot model across several depth points to see where the two methods disagree and why. Or solve backward, enter a known porosity and find the matrix, fluid, or bulk density that would be consistent with it.

Diagram comparing density, sonic, and neutron logging methods for inferring porosity

A density log measures bulk density, the combined density of rock matrix and pore fluid, and porosity follows directly, matrix density minus bulk density, divided by matrix density minus fluid density. It is simple and widely used, but only as good as the assumed matrix density, an unaccounted lithology change can shift porosity by several percent without any change in the actual rock.

A sonic log measures the time for a sound wave to travel through a fixed interval, and the Wyllie time average equation inverts that travel time into porosity, log transit time minus matrix transit time, divided by fluid transit time minus matrix transit time. Sonic porosity tends to read high in unconsolidated or poorly compacted sand unless a compaction correction is applied, since sound travels more slowly through loosely packed grains than the simple time average model assumes.

A neutron log measures hydrogen content in the formation and reports it directly as an apparent porosity. It works well in clean, liquid filled rock, but shale contains bound water with its own hydrogen signature, so neutron porosity reads high in shaly intervals even where true pore space is low, and gas lowers the hydrogen index enough to pull neutron porosity down even though real porosity has not changed.

Reading the Density-Neutron Crossplot

Comparing density and neutron porosity at the same depth is one of the most useful diagnostic habits in log analysis. In a clean, liquid saturated interval the two methods typically agree closely, and their average is a reasonable working porosity. In a shaly interval both tend to read high together, with neutron usually reading higher due to bound water hydrogen.

Line chart of density and neutron porosity versus depth showing a gas crossover zone

The crossover case is the one worth watching closely, gas lowers neutron porosity and raises apparent density porosity at the same time, since a lower fluid density than assumed pulls the density porosity calculation upward. When density porosity reads noticeably higher than neutron porosity at the same depth, that separation itself is a useful gas indicator, and a simple arithmetic average of the two methods will understate true porosity in that zone. This tool automatically switches to a square root mean once that crossover passes a few porosity units, which tracks true porosity more closely than a plain average in a gas bearing interval.

Solving Backward for an Assumed Density

Sometimes the porosity is already known from a core measurement, and the question runs in reverse, is the matrix density assumption used in the density log calculation actually consistent with that core value. Since the density porosity equation is a simple ratio, matrix, fluid, or bulk density can each be solved directly from the other two plus a known porosity, no iteration required.

Diagram showing the density porosity equation solved for any one of porosity, matrix density, fluid density, or bulk density given the other three

Common Mistakes

Using a single default matrix density, typically sandstone at 2.65, across an entire well regardless of lithology changes, when limestone, dolomite, and shale all carry meaningfully different matrix densities.

Averaging density and neutron porosity blindly in every interval, without checking for the crossover pattern that signals gas effect and calls for a different averaging approach.

Treating sonic porosity from the simple Wyllie equation as accurate in unconsolidated sand without applying any compaction correction.

Reading neutron porosity as true porosity in a shaly sand without recognizing that bound water in the shale inflates the apparent reading.

Who Uses This

Petrophysicists and log analysts computing porosity from raw log readings and cross checking density and neutron methods against each other.

Geologists and reservoir engineers estimating reservoir quality from available log suites before committing to a full petrophysical evaluation.

Wellsite and mudlogging personnel doing a quick porosity sanity check on real time log data.

Students and early career geoscientists learning how the three classic porosity methods relate to each other and where each one can mislead.

Try It Above

Use the quick convert tab for a single log reading with whichever method you have, move to the density-neutron model to compare methods and check for gas effect across several depth points, or use the solve missing density tab when you have a known porosity and need to check an assumed density.

Related Calculators and References

Continue building your workflow with the Reflection Coefficient Calculator. For background on the formulas used above, see AAPG Wiki: Density-neutron log porosity.