The amount of sand needed for a 20-gallon aquarium depends heavily on whether the tank is long, high or another shape. The long version has a larger base area and therefore needs more substrate for the same depth. Calculate length × width × average depth, then convert the substrate volume using the sand's density or bag coverage.
This is a common place where gallon-based buying rules fail. Two aquariums that both hold around 20 US gallons can have noticeably different bottom areas.

20-gallon long versus high
A longer, shallower aquarium spreads the same water volume over a larger footprint. That means more sand is required to create the same depth across the base.
Measure the tank rather than relying on the name printed on the box.
Choose the depth intentionally
- Shallow decorative layer for easy visual maintenance.
- Moderate bed for general community tanks.
- Deeper planted zones where rooted plants need anchoring.
- Average the front and rear depths when using a slope.
Hardscape changes the real requirement
Large rocks and wood occupy floor space and can reduce how much sand is needed. Conversely, deep retaining slopes can increase it.
Dry-layout the main hardscape before committing all the substrate.
Use volume before weight
Substrate bags vary in density, especially between natural sand and lightweight specialty products. Work out required volume first, then translate that into the manufacturer's bag sizes.
Related aquarium tools and guides
Frequently asked questions
Does a 20-gallon long need more sand than a 20-gallon high?
Usually yes for the same depth because the long tank has a larger footprint.
Can I plant directly into sand?
Yes, but rooted plants may need root tabs and a suitable depth and grain size.
How much extra should I buy for a slope?
Use the average planned depth and add a small allowance if you expect to reshape the layout.
Sources and further reading
This guide separates general aquarium arithmetic from fish-welfare decisions. For species-specific limits, always check the needs of the fish you intend to keep.