Canada's forests play an important role in the global carbon (C) cycle because of their large and dynamic C stocks. Detailed monitoring of C exchange between forests and the atmosphere and improved understanding of the processes that affect the net ecosystem exchange of C are needed to improve our understanding of the terrestrial C budget. We estimated the C budget of Canada's 2.3 × 106 km2 managed forests from 1990 to 2008 using an empirical modelling approach driven by detailed forestry datasets. We estimated that average net primary production (NPP) during this period was 809 ± 5 Tg C yr−1 (352 g C m−2 yr−1) and net ecosystem production (NEP) was 71 ± 9 Tg C yr−1 (31 g C m−2 yr−1). Harvesting transferred 45 ± 4 Tg C yr−1 out of the ecosystem and 45 ± 4 Tg C yr−1 within the ecosystem (from living biomass to dead organic matter pools). Fires released 23 ± 16 Tg C yr−1 directly to the atmosphere, and fires, insects and other natural disturbances transferred 52 ± 41 Tg C yr−1 from biomass to dead organic matter pools, from where C will gradually be released through decomposition. Net biome production (NBP) was only 2 ± 20 Tg C yr−1 (1 g C m−2 yr−1); the low C sequestration ratio (NBP/NPP=0.3%) is attributed to the high average age of Canada's managed forests and the impact of natural disturbances. Although net losses of ecosystem C occurred during several years due to large fires and widespread bark beetle outbreak, Canada's managed forests were a sink for atmospheric CO2 in all years, with an uptake of 50 ± 18 Tg C yr−1 [net ecosystem exchange (NEE) of CO2=−22 g C m−2 yr−1].