The city owes it existence to its site overlooking the James and Appomattox Rivers. The oldest part of the city, City Point, was established in 1613 by Sir Thomas Dale.
According to the United States Census Bureau, the city has a total area of 28.0 km² (10.8 mi²). 26.5 km² (10.2 mi²) of it is land and 1.5 km² (0.6 mi²) of it is water. The total area is 5.36% water.
As of the census of 2000, there are 22,354 people, 9,055 households, and 6,075 families residing in the city. The population density is 842.9/km² (2,182.3/mi²). There are 9,749 housing units at an average density of 367.6/km² (951.7/mi²). The racial makeup of the city is 62.29% White, 33.48% African American, 0.35% Native American, 0.81% Asian, 0.07% Pacific Islander, 1.23% from other races, and 1.77% from two or more races. 2.91% of the population are Hispanic or Latino of any race.
There are 9,055 households out of which 32.1% have children under the age of 18 living with them, 40.6% are married couples living together, 21.2% have a female householder with no husband present, and 32.9% are non-families. 27.6% of all households are made up of individuals and 11.2% have someone living alone who is 65 years of age or older. The average household size is 2.43 and the average family size is 2.94.
In the city the population is spread out with 26.7% under the age of 18, 9.1% from 18 to 24, 28.6% from 25 to 44, 21.0% from 45 to 64, and 14.6% who are 65 years of age or older. The median age is 35 years. For every 100 females there are 87.7 males. For every 100 females age 18 and over, there are 82.2 males.
The median income for a household in the city is $33,196, and the median income for a family is $38,043. Males have a median income of $30,835 versus $23,398 for females. The per capita income for the city is $16,338. 14.9% of the population and 12.5% of families are below the poverty line. Out of the total people living in poverty, 21.6% are under the age of 18 and 10.4% are 65 or older.