Spatial segregation of metabolism, such as cellular-localized CO2 fixation in C4 plants or in the cyanobacterial carboxysome, enhances the activity of inefficient enzymes by selectively concentrating them with their substrates. The carboxysome and other bacterial microcompartments (BMCs) have drawn particular attention for bioengineering of nanoreactors because they are self-assembling proteinaceous organelles. All BMCs share an architecturally similar, selectively permeable shell that encapsulates enzymes. Fundamental to engineering carboxysomes and other BMCs for applications in plant synthetic biology and metabolic engineering is understanding the structural determinants of cargo packaging and shell permeability. Here we describe the expression of a synthetic operon in Escherichia coli that produces carboxysome shells. Protein domains native to the carboxysome core were used to encapsulate foreign cargo into the synthetic shells. These synthetic shells can be purified to homogeneity with or without luminal proteins. Our results not only further the understanding of protein-protein interactions governing carboxysome assembly, but also establish a platform to study shell permeability and the structural basis of the function of intact BMC shells both in vivo and in vitro. This system will be especially useful for developing synthetic carboxysomes for plant engineering.