Abstract. Riemann surfaces naturally appear in the analysis of complex functions that are branched over the complex plane. However, they usually possess a complicated topology and are thus hard to understand. We present an algorithm for constructing Riemann surfaces as meshes in R3 from explicitly given branch points with corresponding branch indices. The constructed surfaces cover the complex plane by the canonical projection onto R2 and can therefore be considered as multivalued graphs over the plane – hence they provide a comprehensible visualization of the topological structure. Complex functions are elegantly visualized using domain coloring on a subset of C. By applying domain coloring to the automatically constructed Riemann surface models, we generalize this approach to deal with functions which cannot be entirely visualized in the complex plane.