This paper documents a global Bayesian variational inversion of CO2 surface fluxes during the period 1988–2008. Weekly fluxes are estimated on a 3.75° × 2.5° (longitude-latitude) grid throughout the 21 years. The assimilated observations include 128 station records from three large data sets of surface CO2 mixing ratio measurements. A Monte Carlo approach rigorously quantifies the theoretical uncertainty of the inverted fluxes at various space and time scales, which is particularly important for proper interpretation of the inverted fluxes. Fluxes are evaluated indirectly against two independent CO2 vertical profile data sets constructed from aircraft measurements in the boundary layer and in the free troposphere. The skill of the inversion is evaluated by the improvement brought over a simple benchmark flux estimation based on the observed atmospheric growth rate. Our error analysis indicates that the carbon budget from the inversion should be more accurate than the a priori carbon budget by 20% to 60% for terrestrial fluxes aggregated at the scale of subcontinental regions in the Northern Hemisphere and over a year, but the inversion cannot clearly distinguish between the regional carbon budgets within a continent. On the basis of the independent observations, the inversion is seen to improve the fluxes compared to the benchmark: the atmospheric simulation of CO2 with the Bayesian inversion method is better by about 1 ppm than the benchmark in the free troposphere, despite possible systematic transport errors. The inversion achieves this improvement by changing the regional fluxes over land at the seasonal and at the interannual time scales.