By combining and improving recent techniques and results, we provide explicit estimates for the error terms |π(x) − li(x)|, |θ(x) − x| and |ψ(x) − x| appearing in the prime number theorem. For example, we show for all x ≥ 2 that |ψ(x) − x| ≤ 9.39x(log x) 1.515 exp(−0.8274 √ log x). Our estimates rely heavily on explicit zero-free regions and zero-density estimates for the Riemann zeta-function, and improve on existing bounds for primecounting functions for large values of x.