Ultrafilters and ultraproducts provide a useful generalization of the ordinary limit processes which have applications to many areas of mathematics. Typically, this topic is presented to students in specialized courses such as logic, functional analysis, or geometric group theory. In this book, the basic facts about ultrafilters and ultraproducts are presented to readers with no prior knowledge of the subject and then these techniques are applied to a wide variety of topics. The first part of the book deals solely with ultrafilters and presents applications to voting theory, combinatorics, and topology, while also dealing also with foundational issues. The second part presents the classical ultraproduct construction and provides applications to algebra, number theory, and nonstandard analysis. The third part discusses a metric generalization of the ultraproduct construction and gives example applications to geometric group theory and functional analysis. The final section returns to more advanced topics of a more foundational nature. The book should be of interest to undergraduates, graduate students, and researchers from all areas of mathematics interested in learning how ultrafilters and ultraproducts can be applied to their specialty.