Quite some time ago I learned to never use pure black (#000000) on pure white (#ffffff) in web design, as it’s actually much harder to read.
When you put pure black next to a set of meticulously picked colors, the black overpowers everything else. It stands out because it’s not natural. All of the “black” everyday objects around you have some amount of light bouncing off of them, which means they aren’t black, they’re dark gray. And that light probably has a tint to it, so they’re not even dark gray, they’re colored-dark gray.
For a pure white background, #333333 is an often used benchmark for readable font color on the web.