TemplateTagger is a C++ package for jet substructure analysis with Template Overlap Method. The code operates with arbitrary models within fixed-order perturbation theory and arbitrary kinematics. Specialized template generation classes allow the user to implement any model for a decay of a boosted heavy object. In addition to template overlap, the code provides ability to calculate other template shape and energy flow observables. We describe in detail the structure of the package, as well as provide examples of its usage.