Awesome Open Source
Awesome Open Source


This is Lua contained in a single header to be bundled in C/C++ applications with ease. Lua is a powerful, efficient, lightweight, embeddable scripting language.

Example Usage

#define LUA_IMPL
#include "minilua.h"

int main() {
  lua_State *L = luaL_newstate();
  if(L == NULL)
    return -1;
  luaL_loadstring(L, "print 'hello world'");
  lua_call(L, 0, 0);
  return 0;


Copy minilua.h into your C or C++ project, include it anywhere you want to use Lua API. Then do the following in one C file to implement Lua:

#define LUA_IMPL
#include "minilua.h"

By default it detects the system platform to use, however you can explicitly define one.

Note that almost no modification was made in the Lua implementation code, thus there are some C variable names that may collide with your code, therefore it is best to declare the Lua implementation in dedicated C file.

Optionally provide the following defines:

  • LUA_MAKE_LUA - implement the Lua command line REPL


For documentation on how to use Lua read its official manual.


  • 31-Mar-2021: Updated to Lua 5.4.3.
  • 03-Dec-2020: Updated to Lua 5.4.2.
  • 27-Nov-2020: Library created, using Lua 5.4.2-rc1.


This library tries to keep up with latest official Lua release. The header is generated using the bash script all modifications done is there.


Same license as Lua, the MIT license, see LICENSE.txt for information.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c (15,696
lua (2,177
game-development (494
scripting-language (86
single-file (42
single-header-lib (39
single-header (25