Density Converter
Mass packed into a volume - from g/cm³ to lb/ft³.
Enter a value above to convert between kg/m³ and g/cm³.
What is density?
Density is how much mass is packed into a given volume - mass divided by volume. Its SI unit is the kilogram per cubic meter (kg/m³), but chemistry and everyday work more often use the gram per cubic centimeter (g/cm³), which is exactly 1,000 times larger: 1 g/cm³ = 1000 kg/m³. Water is the handy reference point - it has a density of about 1000 kg/m³, or 1 g/cm³. Anything denser than water sinks in it; anything less dense floats.
How to convert density units
Every density conversion goes through the coherent SI derived unit, the kilogram per cubic meter: each unit carries a fixed factor for how many kg/m³ it represents, and you convert by multiplying by the source factor and dividing by the target. Because a liter is a cubic decimeter, the metric liter-based units line up cleanly - 1 g/L = 1 kg/m³ and 1 kg/L = 1000 kg/m³. The US and Imperial units follow from fixed definitions of the pound, ounce and gallon: 1 lb/ft³ = 16.018463 kg/m³ and 1 lb/in³ = 27,679.905 kg/m³.
Worked example
Take water at 1000 kg/m³. Dividing by 1,000 gives 1 g/cm³, the value chemists usually quote. Converting to US units, 1000 ÷ 16.018463 = 62.428 lb/ft³ - the figure used in plumbing and HVAC work. Steel, by contrast, is about 7850 kg/m³ (≈ 7.85 g/cm³ or 490 lb/ft³), which is why a solid steel block sinks, while a steel hull floats only because it's hollow.
When you'll use a density converter
Density conversion comes up across engineering, science and trade: comparing material densities quoted in g/cm³ against handbooks in lb/ft³, sizing tanks and shipping loads, working out buoyancy and whether something floats, reading concentration limits given in mg/L or µg/L, and checking the specific gravity of fuels, oils and brines. The table above lists your value in all 42 supported units at once - across SI units, the full liter-based metric ladder, and the US and Imperial units like lb/ft³ and slug/ft³ - so you can read off the equivalent you need without converting twice.