Ada sejumlah ekstensi OpenGL® yang berbeda, sebagian besar digunakan untuk membantu mengelola dan memelihara struktur terurut dari pustaka OpenGL®. Ada empat jenis utama ekstensi OpenGL®: vendor, disetujui, generik dan inti. Ekstensi yang disetujui, generik, dan inti semuanya menunjukkan fungsi dan pustaka yang, dalam beberapa hal, bergerak di sepanjang jalur untuk disertakan dalam distribusi umum kit pengembangan OpenGL®. Ekstensi vendor adalah fungsi yang dibuat khusus yang berlaku untuk lingkungan perangkat keras atau perangkat lunak tertentu. Ada beberapa jenis lain, meskipun lebih untuk subklasifikasi dari sekian banyak ekstensi yang ada.
Salah satu alasan mengapa ada berbagai jenis ekstensi OpenGL® adalah karena meluasnya penggunaan pustaka inti dan jumlah kode kepemilikan yang berpotensi membingungkan yang dibuat untuk memperluasnya. OpenGL® Architecture Review Board (ARB) membantu memelihara dan menegakkan standar OpenGL® dan mengelola ekstensi. Banyak ekstensi dimulai baik sebagai ekstensi vendor atau ekstensi di mana-mana dan dapat, seiring waktu, digunakan oleh banyak vendor, mendapatkan gelar ekstensi generik. Ekstensi generik kemudian dapat ditinjau oleh ARB dan menjadi ekstensi yang disetujui ARB yang kemungkinan besar akan bergabung dengan ekstensi inti.
Ekstensi Vendor OpenGL® adalah fungsi yang diterapkan oleh produsen perangkat keras grafis atau sistem operasi. Jenis ekstensi ini memungkinkan produsen untuk meningkatkan, atau memperkenalkan fungsionalitas baru, kinerja grafis mereka dan kemudian membuat peningkatan tersebut tersedia untuk program OpenGL®. Semua ekstensi vendor dimulai dengan kode yang ditetapkan ARB untuk mewakili nama pabrikan, yang menunjukkan lingkungan di mana fungsi tersebut dapat tersedia.
Ekstensi OpenGL® Generik adalah fungsi yang telah digunakan dan diimplementasikan oleh banyak produsen dan tidak perlu lagi ditetapkan dengan kode awalan vendor khusus. Tidak semua ekstensi generik perlu diterapkan untuk menjaga kepatuhan dengan standar OpenGL®. Ekstensi generik menggunakan awalan GL_EXT sebelum nama fungsi atau konstanta.
Ekstensi OpenGL® yang disetujui adalah ekstensi yang telah diadopsi oleh lebih dari satu produsen dan telah ditinjau oleh ARB, memungkinkan ekstensi tersebut menjadi bagian dari pustaka OpenGL® normal. Fungsi jenis ini umumnya diterapkan oleh semua produsen, terlepas dari vendor mana yang benar-benar menemukan ekstensi dan terlepas dari apakah vendor lain memiliki perangkat keras yang dapat mendukung fungsi yang diminta. Jenis ekstensi ini membawa awalan GL_ARB.
Ekstensi Core OpenGL® adalah fungsi yang mampu meningkatkan kinerja program lama dengan mengizinkan panggilan ke versi sebelumnya dari fungsi OpenGL® untuk mengeksekusi kode terbaru. Saat versi OpenGL® baru dirilis, ekstensi inti baru dapat dipanggil dengan mulus dari program lama tanpa perlu mengubah kode sumber apa pun. Terlepas dari kenyamanan dalam meningkatkan kompatibilitas mundur, ekstensi inti OpenGL® masih dapat disusutkan seiring waktu.