This chapter examines the use of patterns for reengineering legacy systems to the Web. Today reengineering existing (legacy) systems to the Web is a typical software maintenance task. In such projects developers integrate a Web representation with the legacy system’s application programming interface (API) and its responses. Often, the same information is provided to other channels than HTTP and in other formats than HTML as well, and the old (legacy) interfaces are still supported. Add-on services such as security or logging are required. Performance and scalability of the Web application might be crucial. To resolve these issues, many different concepts and frameworks have to be well understood, especially legacy system wrapping, connection handling, remoting, service abstraction, adaptation techniques, dynamic content generation, and others. In this chapter, we present patterns from different sources that resolve these issues. We integrate them to a pattern language operating in the context of reengineering to the Web, and present pattern variants and examples in this context.