For oil-rich shales, current solvent extraction– and thermal extraction–based methods inaccurately measure hydrocarbon-filled porosity (φHC). Moreover, the hydrocarbon composition is not characterized by either method. Here, we show how open-system programmed thermal extraction and pyrolysis, LECO total organic carbon, Archimedes bulk density, and helium pycnometry measurements are integrated to calculate oil and gas pore volumes, characterize their composition, and estimate mobility. Use of a modified multiramp, slow-heating thermal extract, and pyrolysis temperature program further subdivides the φHC. Saturate–aromatic–resin–asphaltene (SARA) separation and gas chromatography of solvent-extracted organic matter and thermally extracted oils are used to compositionally classify the φHC. The segregated bulk compositions of gas- and oil-filled porosity measured via this method are shown to overlap and are broken into the following categories: gas-filled porosity (∼C1–C14), light oil–filled porosity (∼C6–C36), and heavy oil–filled porosity (∼C32–C36+). Furthermore, slow-heating multiramp thermal extraction can subdivide the light oil–filled porosity into four components capturing the C11–C13, C12–C16, C14–C20, and C17–C36 ranges of the extractable organic matter. Analysis of solvent-extracted oils by SARA identifies abundant saturates and aromatics in the light oil–filled porosity and abundant resins and asphaltenes in the heavy oil–filled porosity. Low-maturity shales can be dominated by heavy (C32+) oils rich in asphaltene and resin fractions not observed in the produced fluid. The ratios of SARA components in the C15+ fraction of produced fluid and core extract can be used to better estimate the potentially mobile φHC.