This page tells you how to download and install mods, and gives a quick overview of what you should keep in mind when creating a mod. For more detailed instructions on creating mods, you may view the modding tutorial page. If you are looking for the modding API, check out the official Factorio Lua API documentation website. If you wish to know where to install a mod which is in a zipped format, please read the instructions on the application directory page.
Downloading & installing mods
You can download the mods from the following places:
Mod portal (in-game)
The "Mods" section of the main menu is the best way to get mods. It combines downloading & installing, checking installed mods for updates, and enabling/disabling installed mods.
Mod portal (website)
The mod portal (website) is the center of mod hosting, where authors upload mods, and you can find previous versions, and discussions. Mods come as ZIP files, installed by copying (not unzipping) into the "mods" directory in the user data directory. Verify a successful installation by viewing the "Mods" list through the main menu, in-game.
Mod authors maintain threads in the official mod subforum to support their work. There may be experimental mods or updates here that aren't available on the main portal. They will be downloaded as ZIP files, either as forum "attachments", or with a link to a hosting site. These are installed the same way as mods downloaded from the portal.
Many mods use Factorio's base mod as their only dependency which you do not have to install separately. However, some mods may require you to install other mods for them to work and can also make suggestions for you to install other mods for them to extend their functionality.
When a mod you installed requires you to install another mod for it to work, the other mod, in this case, is a required dependency. The in-game mod portal automatically downloads required dependencies when downloading any mod.
When a mod makes a suggestion to install another mod, but if it does not need that other mod for it to work, the other mod, in this case, is an optional dependency. You can install the optional dependencies which extend the functionality of a mod to enhance your gaming experience with the mod.
The dependencies can also be used to declare a mod to be incompatible with other mods, which prevents them from being loaded together.
- See also: Modding tutorial
- Modding API docs - Overview page of the modding API documentation website
- Mod structure — The basic structure of all mods
- Factorio data github repository — Tracks changes of the Lua prototype definitions in Factorio between releases
- Data.raw — Lists the names and types of all built-in prototypes
You need to use the Lua programming language (version 5.2.1) to create any mods in Factorio. The game's mod system injects your code into the startup and to the data construction stage of the game. You can use any text editor to write the code for your mod. Well-known text editors that offer syntax highlighting for Lua are Notepad++ and Visual Studio Code.
Useful resources for Lua:
There is a wide variety of tools contributed by community members to help in mod development, such as plugins for IDEs to provide auto-completion, debuggers, as well as scripts to automate common tasks regarding translations or packaging.
- Category:Technical — Documentation of technical formats and API's not related to modding