System okien (ang. windowing system) – komponent graficznego interfejsu użytkownika odpowiedzialny za obsługę urządzeń wejścia/wyjścia (np. mysz, klawiatura) oraz grafiki. Udostępnia także menedżerom okien prostokątne obszary ekranu (okna), w których odbywa się rysowanie. Termin ten jest używany także w innym znaczeniu w odniesieniu do menedżerów okien lub nawet pojedynczych aplikacji. Przykładowo, w platformie NetBeans Platform oznacza komponent odpowiedzialny za zarządzanie szkieletem GUI aplikacji.
System okien nie zajmuje się obsługą bardziej wysokopoziomowych komponentów interfejsu takich, jak przyciski czy pola tekstowe. Ich rysowanie oraz obsługa jest odpowiedzialnością menedżera okien. Z punktu widzenia programisty, system okien udostępnia najbardziej podstawowe operacje takie, jak narysowanie linii czy wyświetlanie fontów, separując menedżera okien od sprzętu. Ponadto, zapewnia on możliwość jednoczesnej pracy z wieloma aplikacjami naraz. Niektóre systemy okien implementują także bardziej zaawansowaną funkcjonalność, jak np. możliwość pracy w środowisku rozproszonym (X Window System), gdzie cała komunikacja między menedżerem okien a sprzętem odbywa się przez sieć.