Open main menu

The Lua programming language is a lightweight multi-paradigm language designed primarily for embedded systems and clients.

This is a list of applications which use Lua for the purpose of extensibility.

Video gamesEdit

In video game development, Lua is widely used as a scripting language by game programmers, perhaps due to its perceived easiness to embed, fast execution, and short learning curve.[1]

In 2003, a poll conducted by showed Lua as the most popular scripting language for game programming.[2] On 12 January 2012, Lua was announced as a winner of the Front Line Award 2011 from the magazine Game Developer in the category Programming Tools.[3]

Other usesEdit

Among websites, the most popular website using Lua was Pornhub, according to Wappalyzer.[4]

Other applications using Lua include:

  • 3DMLW plugin uses Lua scripting for animating 3D and handling different events.
  • Adobe Photoshop Lightroom uses Lua for its user interface.
  • Aerospike Database uses Lua as its internal scripting language for its 'UDF' (User Defined Function) capabilities, similar to procedures
  • Apache HTTP Server can use Lua anywhere in the request process (since version 2.3, via the core mod_lua module).
  • Ardour hard disk recorder and digital audio workstation application uses Lua for scripting including the ability to process audio and Midi.
  • Artweaver graphics editor uses Lua for scripting filters.
  • Autodesk Stingray, a game engine which uses Lua for developing video games.
  • Awesome, a window manager, is written partly in Lua, also using it as its configuration file format
  • The Barracuda App Server includes a Lua web framework and non-blocking asynchronous Lua cosockets.[5]
  • BlueMod+S42/Lua, a small Bluetooth module with digital/analog I/O for low power IoT applications, using Lua as its scripting language
  • CARA, Computer Aided Resonance Assignment, one of the most used applications for the analysis of NMR spectra; scientists use Lua to add new algorithms and file formats.
  • The Canon Hack Development Kit (CHDK), an open source firmware for Canon cameras, uses Lua as one of two scripting languages.
  • Celestia, the astronomy educational program, uses Lua as its scripting language.
  • Cheat Engine, a memory editor/debugger, enables Lua scripts to be embedded in its "cheat table" files, and even includes a GUI designer.
  • Cisco Systems uses Lua to implement Dynamic Access Policies within the Adaptive Security Appliance (ASA), and also SIP normalization in Cisco Unified Communications Manager (CUCM).
  • Conky, the Linux system monitoring app, uses Lua for advanced graphics.
  • Cocos2d uses Lua to build games with their Cocos Code IDE.
  • Codea is a Lua editor native to the iOS operating-system.
  • CRYENGINE uses Lua for user scripts.[6]
  • Custom applications for the Creative Technology Zen X-Fi2 portable media player can be created in Lua.
  • Damn Small Linux uses Lua to provide desktop-friendly interfaces for command-line utilities without sacrificing lots of disk space.
  • The darktable open-source photography workflow application is scriptable with Lua.[7]
  • The Daylon Leveller heightfield/terrain modeler uses embedded Lua to let plug-ins be more easily developed.
  • Dolphin Computer Access uses Lua scripting to make inaccessible applications accessible for visually impaired computer users with their screen reader, SuperNova.
  • Eyeon's Fusion compositor uses embedded Lua and LuaJIT for internal and external scripts and also plugin prototyping.
  • A fork of the NES emulator FCE Ultra called FCEUX allows for extensions or modifications to games via Lua scripts.
  • Flame, a large and highly sophisticated piece of malware being used for cyber espionage.[8]
  • Foldit, a science-oriented game in protein folding, uses Lua for user scripts. Some of those scripts have been the aim of an article in PNAS.[9]
  • FreePOPs, an extensible mail proxy, uses Lua to power its web front-end.
  • Freeswitch, an open-source telephony platform designed to facilitate the creation of voice and chat driven products in which Lua can be used as a scripting language for call control and call flow among other things.
  • Geany, a code editor, has a Lua plugin, GeanyLua.
  • Ginga, the middleware for Brazilian Digital Television System (SBTVD or ISDB-T), uses Lua as a script language to its declarative environment, Ginga-NCL. In Ginga-NCL, Lua is integrated as media objects (called NCLua) inside NCL (Nested Context Language) documents.
  • GrafX2, a pixel-art editor, can run Lua scripts for simple picture processing or generative illustration.
  • HAProxy, a reverse proxying software, may be extended with Lua starting from version 1.6.[10]
  • Hammerspoon uses Lua for system automation on OSX, like controlling the screen, mouse, battery status and much more.
  • Hollywood, a cross-platform programming language using Lua.[11]
  • HYDRO_AS-2D, a 2D-surface-water model, uses Lua to query and change boundary-conditions and other model-values during simulation. Possible applications are the simulation of reservoire-management-rules or dam-breaks.
  • iClone, a 3D real-time animation studio to create animation movies uses Lua in the controls of its new physics simulation.
  • iNTERFACEWARE Iguana is a healthcare interface engine with Lua scripting capabilities. [12]
  • The drawing editor Ipe (mainly used for producing figures with LaTeX labeling) uses Lua for its functionality and script extensions.
  • Lego Mindstorms NXT and NXT 2.0 can be scripted with Lua using third-party software.[13]
  • lighttpd web server uses Lua for hook scripts as well as a modern replacement for the Cache Meta Language.
  • Lapis, a web framework for Lua.[14]
  • LÖVE, a 2D game framework for Lua (programming language).[15]
  • LÖVR, a virtual reality game framework for Lua (programming language) heavily influenced by LÖVE.[16]
  • LuaTeX, the designated successor of pdfTeX, allows extensions to be written in Lua.[17]
  • LuCI, the default web interface for OpenWrt, is written primarily in Lua.[18]
  • MediaWiki[19], which is used on Wikipedia and other wikis, uses Lua as a new templating language.
  • ModSecurity ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave's SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence.
  • Moho, an animation software package distributed by Smith Micro Software, uses Lua as its scripting language, and all of its native tools are built as editable scripts.
  • The Moonbridge Network Server for Lua Applications, in combination with WebMCP, a web development framework, allows complex web applications to be written in Lua (used by LiquidFeedback[20]).
  • Mudlet, a cross-platform, open source, and super fast MUD client with scripting in Lua.
  • MySQL Workbench uses Lua for its extensions and add-ons.
  • NetBSD has a Lua driver that can create and control Lua states inside the kernel. This allows Lua to be used for packet filtering and creating device drivers.[21][22][23]
  • OpenResty (a fork of Nginx) has a powerful embedded Lua module that provides an API for accessing Nginx facilities like socket handling, for example.[24]
  • nmap network security scanner uses Lua as the basis for its scripting language, called nse.[25]
  • NodeMCU uses Lua in hardware. NodeMCU is an open source hardware platform, which can run Lua directly on the ESP8266 Wi-Fi SoC.[26]
  • NSBase is a database management software. LUA scripting is used to dynamize forms and reports. It's a software workshop that allows you to create real database management applications.
  • Orbiter (simulator) Space Flight Simulator offers some Lua API allowing to customize simulation feedback, or to automatize simple maneuvers [27]
  • Sierra Wireless AirLink ALEOS GSM / CDMA / LTE gateways allow user applications to be written in Lua.
  • The Perimeta session border controller from Metaswitch Networks uses Lua as a scripting language to manipulate SDP data on the fly.[28]
  • PowerDNS offers extensive Lua scripting for serving and changing DNS answers, fixing up broken servers, and DoS protection.
  • Project Dogwaffle Professional offers Lua scripting to make filters through the DogLua filter. Lua filters can be shared between Project Dogwaffle, GIMP, Pixarra Twistedbrush and ArtWeaver.
  • Prosody is a cross-platform Jabber/XMPP server written in Lua.
  • QSC Audio Products supports Lua scripting for control of external devices and other advanced functionality within Q-SYS Designer.
  • Quartz Composer, a visual programming tool by Apple, can be scripted in Lua via a free plugin produced by Boinx Software.
  • REAPER digital audio workstation supports Lua scripting to extend functionality.
  • Reason digital audio workstation; Lua is used to describe remote codecs.
  • Redis, is an open source key-value database, in which Lua can be used (starting with version 2.6) to write complex functions that run in the server itself, thus extending its functionality.[29]
  • Renoise audio tracker, in which Lua scripting is used to extend functionality.
  • RetroShare encrypted filesharing, serverless email, instant messaging, online chat, and BBS software, based on a friend-to-friend network, has a lua plugin for automation and control.
  • RizomUV UV Mapping 3D Software uses Lua as scripting tool to automate many tasks.
  • Roblox is a MMORPG turned game platform with its own game engine. It uses a modified version of Lua.
  • Rockbox, the open-source digital audio player firmware, supports plugins written in Lua.
  • RPM, software package management system, primarily developed for Red Hat Linux.[30]
  • New versions of SciTE editor can be extended using Lua.
  • SAS integrates Lua with the PROC.
  • ScribeBot uses Lua as a scripting language for creating all sorts of automations and bots.
  • Snort intrusion detection system includes a Lua interpreter since 3.0 beta release.[31]
  • The Squeezebox music players from Logitech support plugins written in Lua on recent models (Controller, Radio and Touch).
  • Tarantool uses Lua as the stored procedure language for its NoSQL database management system, and acts as a Lua application server.
  • TeamSpeak has a Lua scripting plugin for modifications.
  • TI-Nspire calculators contain applications written in Lua, since TI added Lua scripting support with a calculator-specific API in OS 3+.
  • Torch is an open source deep learning library for Lua.
  • Varnish can execute Lua scripts in the request process by extending VCL through the Lua VMOD (Varnish module).[32]
  • Vim has Lua scripting support starting with version 7.3.[33]
  • VLC media player uses Lua to provide scripting support.
  • Waze uses Lua internally. waze-4-35-0-15.apk includes Lua 5.3.3.
  • WeeChat IRC client allows scripts to be written in Lua.
  • WinGate proxy server allows event processing and policy to execute Lua scripts with access to internal WinGate objects.
  • Wireshark network packet analyzer allows protocol dissectors, post-dissectors, and taps to be written in Lua.[34]
  • ZeroBrane Studio Lua IDE is written in Lua and uses Lua for its plugins.
  • NUT allows Applications written in Lua.
  • mpv (crossplatform media player, an mplayer fork) Uses Lua as a scripting language.
  • Neovim text editor Intended to replace Vim script as a primary scripting language
  • Collabio Office - Productivity suite by a Russian developer Lua used for macros/scripting
  • Dual Universe A Sandbox MMO by Novaquark. It is used to control Ingame Creations and Machines via LUA Scripting.


  1. ^ "Why is Lua considered a game language?". Archived from the original on 20 August 2013. Retrieved 2017-04-22.CS1 maint: BOT: original-url status unknown (link)
  2. ^ "Poll Results". Archived from the original on 7 December 2003. Retrieved 2017-04-22.CS1 maint: BOT: original-url status unknown (link)
  3. ^ "Front Line Award Winners Announced". Archived from the original on 15 June 2013. Retrieved 2017-04-22.CS1 maint: BOT: original-url status unknown (link)
  4. ^
  5. ^ "Using Lua with Barracuda App Server".
  6. ^ "Lua Scripting - Technical Documentation - Documentation".
  7. ^ "Using Lua with darktable".
  8. ^ Zetter, Kim (28 May 2012). "Meet 'Flame,' The Massive Spy Malware Infiltrating Iranian Computers". Wired News.
  9. ^ "Algorithm discovery by protein folding game players". Proceedings of the National Academy of Sciences. 108: 18949–18953. doi:10.1073/pnas.1115898108. PMC 3223433.
  10. ^
  11. ^ "Hollywood - Multimedia Application Layer".
  12. ^ "Scripting Best Practices". Retrieved 2018-06-16.
  13. ^ "pbLua Scriptable Operating Systems with Lua". Archived from the original on 2008-12-08.
  14. ^ "Lapis: A web framework for Lua or MoonScript".
  15. ^ "LÖVE - Free 2D Game Engine".
  16. ^ "LÖVR".
  17. ^ "LuaTeX". Retrieved 21 April 2015.
  18. ^ "LuCI". Retrieved 2 July 2015.
  19. ^ Technology report, Wikipedia Signpost (30 January 2012)
  20. ^ "Public Software Group e. V. – LiquidFeedback Frontend". Public Software Group. Retrieved 3 April 2015.
  21. ^ "LUA(4) Man Page". Retrieved 2015-04-21.
  22. ^ "NPF Scripting with Lua EuroBSDCon 2014" (PDF).
  23. ^ "Scriptable Operating Systems with Lua" (PDF). Dynamic Languages Symposium 2014.
  24. ^ "lua-nginx-module".
  25. ^ "Nmap Scripting Engine". Retrieved 2010-04-10.
  26. ^ Huang R. "NodeMCU devkit". Github. Retrieved 3 April 2015.
  27. ^ "Orbiter Space Flight Simulator 2016 Edition".
  28. ^ "Know Your SBCs" (PDF). Retrieved 2014-03-08.
  29. ^ "Redis Lua scripting".
  30. ^ "Lua in RPM".
  31. ^ "Lua in Snort 3.0". Retrieved 2010-04-10.
  32. ^ "VMOD Lua for Varnish 3.0". Retrieved 2016-02-29.
  33. ^ "Vim documentation: if_lua". Retrieved 2011-08-17.
  34. ^ "Lua in Wireshark". Retrieved 2010-04-10.

External linksEdit