Graphs are usually represented as geometric objects drawn in the plane, consisting of nodes and curves connecting them. The main message of this book is that such a representation is not merely a way to visualize the graph, but an important mathematical tool. It is obvious that this geometry is crucial in engineering, for example, if you want to understand rigidity of frameworks and mobility of mechanisms. But even if there is no geometry directly connected to the graph-theoretic problem, a well-chosen geometric embedding has mathematical meaning and applications in proofs and algorithms. This book surveys a number of such connections between graph theory and geometry: among others, rubber band representations, coin representations, orthogonal representations, and discrete analytic functions. Applications are given in information theory, statistical physics, graph algorithms and quantum physics. The book is based on courses and lectures that the author has given over the last few decades and offers readers with some knowledge of graph theory, linear algebra, and probability a thorough introduction to this exciting new area with a large collection of illuminating examples and exercises.