Bacteriorhodopsin is a transmembrane protein that uses light energy, absorbed by its chromophore retinal, to pump protons from the cytoplasm of bacteria such as Halobacterium salinarium into the extracellular space. It is made up of seven alpha-helices, and in the bacterium forms natural, two-dimensional crystals called purple membranes. We have analysed these crystals by electron cryo-microscopy to obtain images of bacteriorhodopsin at 3.0 A resolution. The structure covers nearly all 248 amino acids, including loops outside the membrane, and reveals the distribution of charged residues on both sides of the membrane surface. In addition, analysis of the electron-potential map produced by this method allows the determination of the charge status of these residues. On the extracellular side, four glutamate residues surround the entrance to the proton channel, whereas on the cytoplasmic side, four aspartic acids occur in a plane at the boundary of the hydrophobic-hydrophilic interface. The negative charges produced by these aspartate residues is encircled by areas of positive charge that may facilitate accumulation and lateral movement of protons on this surface.