Computational protein design is becoming a powerful tool for tailoring enzymes for specific biotechnological applications. When applied to existing enzymes, computational re-design makes it possible to obtain orders of magnitude improvement in catalytic activity towards a new target substrate. Computational methods also allow the design of completely new active sites that catalyze reactions that are not known to occur in biological systems. If initial designs display modest catalytic activity, which is often the case, this may be improved by iterative cycles of computational design or by follow-up engineering through directed evolution. Compared to established protein engineering methods such as directed evolution and structure-based mutagenesis, computational design allows for much larger jumps in sequence space; for example, by introducing more than a dozen mutations in a single step or by introducing loops that provide new functional interactions. Recent advances in the computational design toolbox, which include new backbone re-design methods and the use of molecular dynamics simulations to better predict the catalytic activity of designed variants, will further enhance the use of computational tools in enzyme engineering.