A downloadable tool for Windows

Download NowName your own price

raylib is a simple and easy-to-use library to enjoy videogames programming.

NOTE for ADVENTURERS: raylib is a programming library to enjoy videogames programming; no fancy interface, no visual helper... just coding in the most pure spartan-programmers way.

Are you ready to learn? Jump to code examples!.

NOTE: raylib is being developed and maintained with big effort by Ray (that's me!). If you like the library and you enjoy it, consider contributing to the project through GitHub Sponsorsraylib Patreon or just donating on downloading.


  • NO external dependencies, all required libraries are included in raylib
  • Multiplatform: Windows, Linux, MacOS, Android... and many more!
  • Written in plain C code (C99) in PascalCase/camelCase notation
  • Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0)
  • Unique OpenGL abstraction layer (usable as standalone module): rlgl
  • Multiple Fonts formats supported (XNA fonts, AngelCode fonts, TTF)
  • Outstanding texture formats support (including DXT, ETC, ASTC)
  • Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more!
  • Flexible Materials system, supporting classic maps and PBR maps
  • Animated 3d models supported (skeletal bones animation)
  • Shaders support, including Model shaders and Postprocessing shaders
  • Powerful math module for Vector, Matrix and Quaternion operations: raymath
  • Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC...)
  • VR stereo rendering support with configurable HMD device parameters
  • Huge examples collection with +115 code examples!
  • Bindings to +40 programming languages!

Wanna see all functions available in raylib? Check Cheatsheet

raylib is open-source and free to use. View license.


Download NowName your own price

Click download now to get access to the following files:

raylib 3.0 Windows Installer (with TCC compiler) 32 MB
raylib 3.0 Windows Installer (with MinGW compiler) 95 MB

Development log


Log in with itch.io to leave a comment.

Hola Ray,no se podria hacer raylib compatible con direct3d 9 o software.

Mi ordenador es viejo y trae una grafica integrada que no soporta opengl y no puedo usar raylib.

raylib soporta OpenGL 1.1, si tu ordenador es posterior a 1992, raylib deberia funcionar pero debes recompilar la libreria: https://github.com/raysan5/raylib/wiki/Working-on-Windows#build-raylib-using-mak...

Añadir soporte para Direct3D no esta planeado pero la opcion de software rendering esta en proceso (solo para 2d).

Estuve probando lo que comenta el enlace que me pasastes,sobre lo de hacerlo desde la linea de comandos es algo que no suelo usar nunca y no me manejo muy bien pero lo intente y no consegui nada.

Luego lo intente hacer desde el script raylib_source_compile en el archivo raylib.h pero me daba errores al compilar,pero igualmente luego fui al ejemplo que se abre con el notepad++ al principio y lo volvi a compilar con raylib_source_compile y raylib_compile_execute y me da errores.

Estube buscando la forma de ver que opengl soporta mi ordenador y probe el programa GPU_Caps_Viewer,me diice que soporta OpenGL 1.1 (2 ext) - GDI Generic,la tarjeta es Mobile Intel(R) 965 Express Chipset Family,GMA X3100 (rev:  C).

El contralador que uso es la ultima version que salio,por lo que no se puede actualizar.

Hi can someone guide me on how to get raylib working on Visual Studio 2019

please help me

you can use provided project in raylib/projects/VS2017, it should work ok with VS2019

Is there a guide I can use to set this up with Clion? Clion uses cmake if it helps.

raylib Wiki has several IDE configuration guides: https://github.com/raysan5/raylib/wiki Unfortunately not for CLion... feel free to add it.


Does anyone have any good tutorials for setting this up with Visual Studio Code?

You can check raylib Wiki: https://github.com/raysan5/raylib/wiki

Awesome, thanks!

(1 edit)

After downloading and following the Android build steps for template/simple_game mingw32-make PLATFORM=PLATFORM_ANDROID is failing.  Here is the full error.

Any help would be greatly appreciated.  I started work on a mobile game in raylib and would love to get it building on android. 


Hi btrap! I answered in the reddit post! 😄

you are my hero

Hey i sent you a message on reddit.  Which is the best place to send questions?

Actually, best place is raylib Discord, there is a big community that can help.

Deleted 19 days ago

you probably need to use string.c_str()

Deleted 19 days ago

Hi Ray

Been trying to compile raylib on Linux (using gcc compiler) for 3 weeks now and I'm totally frustrated at not being to do it because of the undefined references related to glfw even though my compile command line links in library  libglfw.so.

It sure would be great if RayLib fans could download the library file raylib.so and avoid all the frustration of trying to compile raylib from source code

Would really like to get raylib up and running but I need file raylib.so file



You can download the release version of the library for most platform from raylib GitHub release page: https://github.com/raysan5/raylib/releases

Many thanks Ray.. I followed your lead and downloaded libraylib.so

Then did :

gcc EX.c -fmax-errors=1000 -lGL -L./libraylib -L./libglfw -o a.exe

where libraylib.so and libglfw.so are in same folder as EX.c and

EX.c is identical to  your website example file for:

raylib [shapes] example - draw circle sector (with gui options)
*   This example has been created using raylib 2.5 (www.raylib.com

BUT I still get tons of 'undefined references' 

 ...What am I doing wrong ??

I recommend you ask on raylib Discord forum, it's easier to track the issue than here.

Deleted 45 days ago

i recommend MinGW but it doesn't really matter to my knowledge

Hi Ray, i got a problem running core_basic_window.c. After reserching, i define the support busy wait loop and then build the file core.h with opengl 1.1.When i excute the core-basic-window.c, It gives me these errors:

C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x26): undefined reference to `InitWindow'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x32): undefined reference to `SetTargetFPS'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x37): undefined reference to `WindowShouldClose'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x40): undefined reference to `BeginDrawing'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x4c): undefined reference to `ClearBackground'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x78): undefined reference to `DrawText'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x7d): undefined reference to `EndDrawing'
C:\Users\ADMIN\AppData\Local\Temp\ccseYXAl.o:core_basic_window.c:(.text.startup+0x84): undefined reference to `CloseWindow'
collect2.exe: error: ld returned 1 exit status

Any ideas ?

It seems you are not linking with libraylib.a, was the library successfully compiled and libraylib.a generated in raylib/src directory?

Yes, librarylib.a is generated in raylib/src directory

It's a bit difficult to know your specific issue, try asking in raylib Discord forum, there is a lot of friendly people that could help tracking the issue.

Thank you !

When i try it with raylib 2.5.0, it works fine

how do i install it to a drive other than C: ? i don't have a C: drive on my computer. is there an argument i can give to the executable or something?

I'm afraid it's not possible at this moment. You can just grab raylib from github: https://github.com/raysan5/raylib or install to a computer with C: drive and copy [raylib] directory (it's portable) to yours.

Hi! I am having a problem running core_basic_window.c.When i execute the file, it keep saying that raylib has stop working.Can you help me?

Does it compile correctly? It could be related to the GPU, are you using an old computer?

Hi Ray!Thank you for answer!I got that problem because my OpenGL is 1.4, I fixed that.Now i wonder how can i setup on Visual Studio ?Thank you!

Here you have some ready-to-use projects. Also, raylib Wiki contains instructions for setting up raylib with multiple platforms/IDEs.

Thanks alot!

Deleted 183 days ago
(2 edits)

Hi Ray,You’re great one I used Raylib,And it’s really awesome,But can i ask you?

Q1: My laptop using Windows,But with OpenGL 4.5,With Vulkan support(If i’m not wrong)

Can i recompile Raylib,To use OpenGL 4? Or even older versions of OpenGL,For some compatibility?

Q2: Is recompiling Raylib,To use OpenGL 4 can cause problems?

Best Wishes,Rabia


Hi! Glad you like raylib!

A1-A2: raylib uses by default OpenGL 3.3 on desktop platforms, it can be recompiled to OpenGL 2.1 or even OpenGL 1.1 for older platforms (+20 years old platforms). raylib does not support OpenGL 4+ specific features but if you need some of them, you should implement them.

Thank you!!!

When I Try Downloading Mingw it says - Trojan:Win32/Fuery.C!cl

Just downloaded and scanned with Window Defender, no threats found. It could be a false positive from the Antivirus... in any case, you can download source code from github directly and compile raylib yourself: https://github.com/raysan5/raylib

Just packaged the installer again and re-uploaded to avoid that false positive...

Thank You

Hi! how to recompile raylib 3.0 using opengl 2.1

check raylib_source_compile script on Notepad++, line 4

Hi, thank you for fast reply, It seems like I cannot find the directory where "raylib_source_compile" is that on npp directory or raylib directory. sorry I'm complete beginner

that's a compile script in Notepad++, when you press F6, look at the bottom-left dropdown box to select compilation script

Thank you! I found it

Hi! i'm trying to run an older project in the new 3.0 version but i get an error: "fatal error: rlgl.h: No such file or directory" I don't know what te problem is, cause i tried the exact same project in the 2.5 version and it works just fine.

Similar issue with any example that uses another file besides raylib.h.  For example, trying out physics_demo.c gives:

physics_demo.c:22:10: fatal error: physac.h: No such file or directory

I have tried on two separate windows computers.  Ray, any workaround to this?

Okay, reading the header for the physics file it makes more sense.  However, everything with raymath.h isn't working either.


In raylib 3.0 auxiliar libraries are not copied in compiler include path. If you need some auxiliar library just copy them from raylib/src to your user code path. All the used libraries are single-file header-only.


Does the default font have any name? Also, do i understand correctly that it does not support Cyrillic characters?

(1 edit)

Default font does not include cyrillic characters but you can load your own font with cyrillic characters. About the name, it's custom but it's similar to Grixel Acme 7 font.

Im trying to get a cheap computer for this. Is there a minimum spec sheet? I can't find one.


Just to make sure you are aware this is a library, the minimum requirements are that you have a computer that can compile C/C++ code (which is basically every computer on the planet) as far as getting decent fps it really depends on what you are doing with library but to get started just try it out on whatever computer you currently have and if your project starts running into FPS issues and you don't think its due to poorly performing code on your end then it would make sense to upgrade.



(1 edit)

Hello! When I try to run the project “core_basic_window.c” in Notepad ++, I get the error “timeEndPeriod not found in kernel32.dll”. Win7 not supported? Or maybe need to update the kernel32.dll library to version 6.2+? (TCC compiler)

this issue is related to missing WinMM library on early Win7 versions, to avoid that library you should recompile raylib with busy wait loop enabled, check raylib/src/config.h. you can ask on raylib Discord for more detailed explanation if required...

(1 edit)

Thanks! Works!

yesterday i looked at your examples in the website, just a few lines of code and the result is amazing...it simplify the complexity of OPENGL .
keep up the good work...hopefully someone will make a video game with it!


Raylib 3.0 great release. Thank you for continuing to improve Raylib. 👍


Thanks for you comment! Hope you enjoy this new version! :)

is raylib 64bit or 32bit when I try to install it says tinyC 32-bit or mingw64 32 bit?

Hi! Provided compilers are 32bit for more portability but you can compile raylib to 64bit if you want, you just need a 64bit compiler.

Thank You

Buenas tardes. ES posible usar la librería para alguna de las gafas 3D q hay en el mercado ?! De no ser así, que libreria recomendarías? Gracias.

Si. Yo creo es posible! Solo necesita crear un modelo 3D y exportarlo al formato correcto.

i have no idea what im doing... does it have an actual program to opun to see your progress or is it just coding 


raylib is just a videogames coding library with some code examples to test.

The autocompletion xml file for notepad++ included in 2.5 is still for the 2.0 version, right?

No, it's updated for raylib 2.5... or it should... did you do a clean installation?

Yes, you are right, i was confused by the line 1546 in c.xml saying "raylib 2.0 Autocompletion". Sorry.

Quick reference card is available.

When can we expect the full documentation for the raylib?

Take for example the documentation on the godot engine.

For beginners, it would be very useful.


For now, reference card is the full documentation... not enough resources for something better... for now...

Deleted 1 year ago

please, post it in forum.raylib.com, we will try to find a solution... probably related to GPU...

When will raylib 2.0 be released?

"WARNING! raylib 2.0 is coming very soon! Stay tuned!"

So how much longer?

Sorry for the delay, preparing the library as a package with everything ready and setup takes some work...

raylib 2.0 is already available on GitHub master branch but I expect to have the installer ready by the end of July as late.

Thank you, sir, for such a fine library! I am a vb6 hobby game programmer and was trying to transition to C# for my third game. A friend at BlitWise recommended RayLib and I gave it a shot. I really like C thus far and Raylib has begun to make 3D accessible for me (and looks much better than my 'layered transparency' approach I was taking in vb6 for my 'dungeon view'). Certainly I am struggling with many things: some C related, and some related to utilizing RayLib. I try always to figure things out on my own but I am wondering if you accept specific questions and if so what is your preferred method of receiving them? Thanks!

Hello oklabsoft!

Thanks for trying raylib! Hope you enjoy it! raylib v1.8 is a bit outdated (6 months old) but I'm about to publish raylib 2.0 with lots of improvements!

I'm always open to questions and ready to help, in www.raylib.com top-right corner there is a bunch of network options to connect and ask for help, lately the most active one for quick questions is Discord server but for more elaborated questions I personally prefer raylib forum. You can also write me directly to ray[at]raylib.com if required.

Keep me updated with your projects! :)

Thanks! I am certainly loving it so far and actually making some progress. Knowing where to reach out for help if I get really stuck will hopefully keep me from the constant temptation to just go back and double-click that vb6 icon. :)

Keep up the awesome work and looking forward to 2.0!

Is 2.0 going to have networking ?? :D

not yet, sorry. I started working on some network functionality, UDP only, based on socket... but it won't get into 2.0.

Thank you so much for this! 


Thanks to you for using it! :D

Looks neat! Is it possible to develop on mac?

Yes, it is. But in that case you need to configure your dev environment (probably XCode). Here it is a guide: https://github.com/raysan5/raylib/wiki/Compile-for-OSX

Can you actually make your own game? If so,can you put it on the games page on itch?

(1 edit)

Hi uy! I'll try to upload some game to itch.io but you can check some in raylib web. :)

link is broken now (