Small-angle X-ray scattering (SAXS) is increasingly used to characterize the structure and interactions of biological macromolecules and their complexes in solution. Although still a low-resolution technique, the advent of high-flux synchrotron sources and the development of algorithms for the reconstruction of 3-D electron density maps from 1-D scattering profiles have made possible the generation of useful low-resolution molecular models from SAXS data. Furthermore, SAXS is well suited for the study of unfolded or partially folded conformational ensembles as a function of time or solution conditions. Here, we review recently developed algorithms for 3-D structure modeling and applications to protein complexes. Furthermore, we discuss the emerging use of SAXS as a tool to study membrane protein-detergent complexes. SAXS is proving useful to study the folding of functional RNA molecules, and finally we discuss uses of SAXS to study ensembles of denatured proteins.