The remainder of this paper is structured as follows. Section 2 provides background on planning, rewriting, and local search, some of the fields upon which PbR builds. Section 3 presents the basic framework of Planning by Rewriting as a domain-independent approach to local search. This section describes in detail plan rewriting and our declarative rewriting rule language. Section 4 describes several application domains and shows experimental results comparing PbR with other planners. Section 5 reviews related work. Finally, Section 6 summarizes the contributions of the paper and discusses future work.