The study of L-functions has become a major theme in modern number theory. The Selberg class arose as an attempt to capture the properties of L-functions, encouraging the study of properties of the class rather than of individual functions. Written by two experts in the field, this book surveys the current state of knowledge of the theory of the Selberg class of L-functions. It synthesises a large body of research spanning decades and presents a complete account of the classification of small-degree L-functions. The text covers numerous important developments, including the theory of nonlinear twists of L-functions, culminating in the application of these twists to converse theorems, moments of L-functions and the structure of local Euler factors. Proofs are streamlined and unified. Basic problems and conjectures have been included to stimulate further research. This will be a valuable resource for researchers, graduate students and advanced undergraduates in analytic number theory.