Der Begriff Front-Controller bezeichnet ein Entwurfsmuster in der Softwaretechnik. Ein Front-Controller dient als Einstiegspunkt in eine Webanwendung.
Der Front-Controller erweitert üblicherweise das Model-View-Controller-Architekturmuster. Alle Anfragen an die Webanwendung werden vom Front-Controller empfangen und an einen bestimmten Controller delegiert. Dafür initialisiert er den Router (meist in eine externe Komponente ausgelagert) und führt vor der Delegierung allgemeine Aufgaben wie die Lokalisierung durch.