The LuaJIT Wiki

not logged in | [Login]

Please note that most developers prefer to only bind to the few library calls they actually need. E.g. an rmdir() binding is just a single line with the LuaJIT FFI. And a simple binding to e.g. zlib takes only two dozen lines, see the FFI Tutorial. You can find many examples for this floating around on the net.

The following list only shows larger or somewhat comprehensive library bindings:

Core OS Libraries



Audio & Video

Messaging & Events


Encoding & Decoding



Game Engines

Cross-language RPC

Cross-language Bridges



  • ufo: Precompiled binaries for OSX/Windows and other platforms. Bindings for: Cairo, Pixman, SDL 1.3, zlib, libpng, libbz2, ZeroMQ, Expat, Freetype, GLFW, APR, AntTweakBar, OpenGL, OpenCL.

  • luapower/hunspell: hunspell (spell checking)

  • luajit-tcc: Tiny C Compiler.

  • luapower/luastate: binding to the Lua C API for creating independent Lua states

  • luapower/dynasm: use DynASM from Lua

  • luapower/cbframe: low-level ffi callback frames (workaround to ffi ABI limitations)

  • luajit-gmp: GNU Multiple Precision library.