Cellulose is a linear extracellular polysaccharide. It is synthesized by membrane-embedded glycosyltransferases that processively polymerize UDP-activated glucose. Polymer synthesis is coupled to membrane translocation through a channel formed by the cellulose synthase. Although eukaryotic cellulose synthases function in macromolecular complexes containing several different enzyme isoforms, prokaryotic synthases associate with additional subunits to bridge the periplasm and the outer membrane. In bacteria, cellulose synthesis and translocation is catalyzed by the inner membrane-associated bacterial cellulose synthase (Bcs)A and BcsB subunits. Similar to alginate and poly-β-1,6 N-acetylglucosamine, bacterial cellulose is implicated in the formation of sessile bacterial communities, termed biofilms, and its synthesis is likewise stimulated by cyclic-di-GMP. Biochemical studies of exopolysaccharide synthesis are hampered by difficulties in purifying and reconstituting functional enzymes. We demonstrate robust in vitro cellulose synthesis reconstituted from purified BcsA and BcsB proteins from Rhodobacter sphaeroides. Although BcsA is the catalytically active subunit, the membrane-anchored BcsB subunit is essential for catalysis. The purified BcsA-B complex produces cellulose chains of a degree of polymerization in the range 200-300. Catalytic activity critically depends on the presence of the allosteric activator cyclic-di-GMP, but is independent of lipid-linked reactants. Our data reveal feedback inhibition of cellulose synthase by UDP but not by the accumulating cellulose polymer and highlight the strict substrate specificity of cellulose synthase for UDP-glucose. A truncation analysis of BcsB localizes the region required for activity of BcsA within its C-terminal membrane-associated domain. The reconstituted reaction provides a foundation for the synthesis of biofilm exopolysaccharides, as well as its activation by cyclic-di-GMP.