La Graphics Device Interface è una API di Microsoft Windows utilizzata per rappresentare oggetti grafici e trasmetterli a dispositivi di output, come stampanti e monitor.
GDI è responsabile di compiti come il disegno di linee e curve, il rendering dei font e la gestione delle tavolozze. Non è direttamente responsabile per il disegno di finestre, menu, ecc.; questo compito è riservato ad un altro sottosistema costruito su GDI. Altri sistemi hanno componenti simili a GDI, per esempio QuickDraw di Macintosh e GDK/Xlib di GNOME/GTK.
Forse la capacità più significativa di GDI rispetto ai metodi più diretti di accesso all'hardware è la sua capacità di scalare e di astrazione dei dispositivi di destinazione. Utilizzando GDI, è molto facile disegnare su più dispositivi, come uno schermo e una stampante, e aspettarsi una riproduzione adeguata in ogni caso. Questa capacità è al centro di tutte le applicazioni What You See Is What You Get per Microsoft Windows.
I giochi semplici che non richiedono un rendering grafico veloce utilizzano GDI. Tuttavia, GDI non può animare correttamente in quanto non ha la nozione di sincronizzazione con il framebuffer, e manca di rasterizzazione per il 3D. I giochi moderni di solito usano invece DirectX o OpenGL, che danno ai programmatori la possibilità di usare le caratteristiche dell'hardware moderno.