Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Lua Shell Makefile
Fetching latest commit...
Cannot retrieve the latest commit at this time.

Standard Lua libraries

by the stdlib project

License travis-ci status Stories in Ready

This is a collection of Lua libraries for LuaJIT, Lua 5.1, 5.2 and 5.3. The libraries are copyright by their authors 2000-2015 (see the AUTHORS file for details), and released under the MIT license (the same license as Lua itself). There is no warranty.

Stdlib has no run-time prerequisites beyond a standard Lua system.


The simplest and best way to install stdlib is with LuaRocks. To install the latest release (recommended):

    luarocks install stdlib

To install current git master (for testing, before submitting a bug report for example):

    luarocks install

The best way to install without LuaRocks is to download a github release tarball and follow the instructions in the included INSTALL file. Even if you are repackaging or redistributing stdlib, this is by far the most straight forward place to begin.

Note that you'll be responsible for providing dependencies if you choose not to let LuaRocks handle them for you, though you can find a list of minimal dependencies in the rockspec.conf file.

It is also possible to perform a complete bootstrap of the master development branch, although this branch is unstable, and sometimes breaks subtly, or does not build at all, or provides experimental new APIs that end up being removed prior to the next official release. Unfortunately, we don't have time to provide support for taking this most difficult and dangerous option. It is presumed that you already know enough to be aware of what you are getting yourself into - however, there are full logs of complete bootstrap builds in Travis after every commit, that you can examine if you get stuck. Also, the bootstrap script tries very hard to tell you why it is unhappy and, sometimes, even how to fix things before trying again.


As well as requiring individual libraries, you can load the standard set with

    local std = require "std"

Modules not in the standard set may be removed from future versions of stdlib.


The latest release of these libraries is documented in LDoc. Pre-built HTML files are included in the release.

Bug reports and code contributions

These libraries are written and maintained by their users.

Please make bug reports and suggestions as GitHub Issues. Pull requests are especially appreciated.

But first, please check that your issue has not already been reported by someone else, and that it is not already fixed by master in preparation for the next release (see Installation section above for how to temporarily install master with LuaRocks).

There is no strict coding style, but please bear in mind the following points when proposing changes:

  1. Follow existing code. There are a lot of useful patterns and avoided traps there.

  2. 2-character indentation using SPACES in Lua sources.

Something went wrong with that request. Please try again.