Oxygen is essential for animal life, and while geochemical proxies have been instrumental in determining the broad evolutionary history of oxygen on Earth, much of our insight into Phanerozoic oxygen comes from biogeochemical modelling. The GEOCARBSULF model utilizes carbon and sulphur isotope records to produce the most detailed history of Phanerozoic atmospheric O2 currently available. However, its predictions for the Paleozoic disagree with geochemical proxies, and with non-isotope modelling. Here we show that GEOCARBSULF oversimplifies the geochemistry of sulphur isotope fractionation, returning unrealistic values for the O2 sourced from pyrite burial when oxygen is low. We rebuild the model from first principles, utilizing an improved numerical scheme, the latest carbon isotope data, and we replace the sulphur cycle equations in line with forwards modelling approaches. Our new model, GEOCARBSULFOR, produces a revised, highly-detailed prediction for Phanerozoic O2 that is consistent with available proxy data, and independently supports a Paleozoic Oxygenation Event, which likely contributed to the observed radiation of complex, diverse fauna at this time.