Lightweight Java Game Library 3


What is LWJGL 3?

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL), audio (OpenAL) and parallel computing (OpenCL) applications. This access is direct and high-performance, yet also wrapped in a type-safe and user-friendly layer, appropriate for the Java ecosystem.

LWJGL is an enabling technology and provides low-level access. It is not a framework and does not provide higher-level utilities than what the native libraries expose. As such, novice programmers are encouraged to try one of the frameworks or game engines that make use of LWJGL, before working directly with the library.

LWJGL is open source software and freely available at no charge.


For more information, see the LWJGL 3 Roadmap.

Main Features

Low-level Bindings

Direct access to OpenGL, OpenCL, OpenAL, GLFW and other native APIs with uncompromised performance and a Java-friendly binding layer.

Open Source

LWJGL is available under a BSD license. Visit our GitHub repository to monitor progress, report issues and even contribute with your own code!

Built-in Documentation

Get great auto-complete and inline documentation without leaving the comfort of your favorite IDE.


Write your game or application once, deploy on Windows, Mac, Linux.


Need help? Our forum is a great place to seek a solution. Up for a chat? Drop by our IRC channel
(#LWJGL on freenode).

GLFW Bindings

Create multiple windows, handle user input (keyboard, mouse, gaming peripherals) and manage OpenGL contexts. Also features multi-monitor support, clipboard access, file drag-n-drop, and much more.


OpenGL® Bindings

Everything you need to create exciting 2D and 3D graphics. LWJGL supports all OpenGL versions (including the latest 4.5 specification), all ARB, Khronos, and OS-specific extensions ever released and dozens of popular vendor-specific extensions. If your favorite extension is missing, ask for it and it will be added in no time!


OpenCLTM Bindings

The ultimate standard for cross-platform parallel programming on any hardware. LWJGL supports all OpenCL versions (including the latest 2.0 specification) and many useful extensions.


OpenAL Bindings

Cross-platform multichannel three-dimensional positional audio. A powerful API for music playback and audio effects. ALC and many extensions are also supported.


OpenGL® ES Bindings

(coming soon)


EGLTM Bindings

(coming soon)

Your favorite API here!

Think LWJGL should have bindings to your favorite API? Let us know or contribute it yourself!

OpenGLĀ® and the oval logo are trademarks or registered trademarks of Silicon Graphics, Inc. in the United States and/or other countries worldwide.
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
OpenGL ES logo is a trademark of Silicon Graphics Inc. used by permission by Khronos.
EGL and the EGL logo are trademarks of the Khronos Group Inc.

Looking for LWJGL 2?

LWJGL 3 is a fresh start and LWJGL 2 is its predecessor. LWJGL 2 has been used in the creation of dozens of games, including titles like Minecraft by Mojang and Revenge of the Titans by Puppygames. It is also used in popular game engines, like libGDX and jMonkeyEngine.


Why replace LWJGL 2?

Copyright © 2012-2014 Lightweight Java Game Library Project. All rights reserved.