Since its inception around 1980, the theory of perverse sheaves has been a vital tool of fundamental importance in geometric representation theory. This book gives a comprehensive account of constructible and perverse sheaves on complex algebraic varieties, and show how to put this to work in the context of geometric representation theory.