Perturbation theory remains one of the main tools in physics, in particular in quantum theories. However, most perturbative series diverge factorially, and it is not obvious how to extract information from them. Their divergence also suggests that, in order to obtain accurate results, one might need additional non-perturbative information. The theory of resurgence has been proposed as a general framework to address these issues. In this talk I will give an introduction to this theory and will illustrate it with applications -old and new- in quantum mechanics, quantum field theory and string theory.