Open-source project
lite-xl/lite-xl avatar
lite-xl/lite-xl

Lite XL: a Lua text editor you can build from source or run portable

A lightweight text editor written in Lua

6,416 stars322 forksLuaMIT

At a glance

What is it?
Lite XL is a lightweight text editor derived from lite, written mostly in Lua, with prebuilt releases for Windows, Linux and macOS. It is small, hackable, and best suited to people willing to edit config files and install plugins by hand.
Who is it for?
Adopt Lite XL if you want a small editor whose behaviour you can change by editing Lua files and dropping plugins into a directory, and if you are comfortable building from source when no package exists for your distribution. Do not adopt it if you need an editor that ships a plugin marketplace, a graphical settings panel, or a large ecosystem of language tooling out of the box; the README points you to separate repositories for plugins and themes instead.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
Mainly Lua, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Lite XL is for, and who it is not for

Lite XL is a text editor written mostly in Lua, adapted from rxi's lite. The README states the aim plainly: something practical, pretty, small and fast, easy to modify and extend, or usable without doing either. Compared with lite, the project says it wants to be more user friendly, improve font rendering quality, and reduce CPU usage.

The audience follows from that. If you want an editor whose entire configuration and plugin layer is Lua source you can read and edit, Lite XL fits. If you want an editor that installs extensions from a marketplace inside the application, or that bundles a language server, debugger and integrated terminal in one download, this is the wrong starting point. The README treats plugins and themes as separate downloads, not as built-in features.

One detail worth noting for anyone on a high resolution display: the README says Lite XL supports high DPI on Windows and Linux, and retina displays on macOS since the 1.16.7 release. That is a rendering concern the project inherited and then worked on, rather than a feature added on top.

The architecture: C core, Lua editor, SDL2 window

The repository layout shows the split clearly. There is a src/ directory for the C side and a data/ directory for the Lua side, with meson.build and subprojects/ handling the build. The topics list C, Lua and SDL2, which matches the dependency list in the README: SDL2, PCRE2, FreeType2 and Lua 5.4, plus a C compiler.

So the window, input handling, font rendering through FreeType2, and the Lua interpreter binding live in C, while the editor behaviour is Lua loaded from data/. That is why the project describes itself as written mostly in Lua rather than entirely in Lua. It also explains the plugin model: a plugin is a Lua file that the editor loads, and the README says Lite XL is compatible with lite for most plugins and all colour themes, with a separate lite-xl-plugins repository because some plugins needed adaptation.

That compatibility claim is the interesting design decision. Keeping the lite plugin surface mostly intact means existing lite plugins have a path forward, but the existence of a separate adapted repository also means the compatibility is not total. If you are porting a plugin, expect to check whether it lives in the adapted repository before assuming it works.

Installing Lite XL and opening your first file

The README gives two routes. For most people the prebuilt route is faster: go to the releases page on GitHub and download the build for your operating system. The prebuilt releases cover Windows 7 and above, Ubuntu 18.04 and above with glibc 2.27 and above, and OS X El Capitan (10.11) and above. The README also notes that some distributions provide their own binaries.

On Windows there are installers for a normal installation, and ZIP archives you can extract anywhere and run directly. To make it portable, for example from a thumb drive, the README says to create a user folder next to lite-xl.exe. Lite XL then loads and stores configuration and plugins in that folder:

bash
mkdir user

On macOS the releases are DMG files, and you drag the program into Applications. Newer builds are signed with a self-signed certificate, so the README says to open Lite XL from Finder with a Control-click and choose Open from the shortcut menu rather than launching it from Launchpad. On older versions the README gives a different step:

bash
xattr -cr /Applications/Lite\ XL.app

If you would rather build it, the README's quick guide requires Meson (0.63 or later), Ninja, SDL2, PCRE2, FreeType2, Lua 5.4 and a C compiler. SDL2, PCRE2, FreeType2 and Lua can be downloaded by Meson if you pass --wrap-mode=forcefallback or --wrap-mode=default. The project provides scripts/build.sh, and running it with --help prints the available options:

bash
bash build.sh --help

Alternatively the README shows the direct Meson sequence, where the prefix is typically /, /usr or /opt and defaults to /:

bash
meson setup --buildtype=release --prefix <prefix> build
meson compile -C build
DESTDIR="$(pwd)/lite-xl" meson install --skip-subprojects -C build

On Ubuntu the README's dependency line is apt-get install python3.8 python3-pip build-essential git cmake wayland-protocols libsdl2-dev followed by pip3 install meson ninja. On macOS it warns that you must install bash via Brew, because the default bash version may not run the build script correctly.

Plugins and themes are separate downloads, not a built-in store

The README lists three links up front: get Lite XL, get plugins, get colour themes. Plugins live in the plugins repository and in the Lite XL plugins repository, and themes in a colours repository. The README adds that the colour themes are bundled with all releases of Lite XL by default, so the theme download matters mainly if you want more than the bundled set.

This is the clearest practical difference from editors with an extension marketplace. There is no in-application search across a central index described in the README. You find a plugin, put it where Lite XL loads plugins from, and restart or reload. The portable Windows layout the README describes puts that location inside the user folder next to the executable, which means a portable install keeps its plugins on the same drive as the binary.

The upside is that a plugin is just Lua source. The downside is that discovery and updates are your problem. Nothing in the README describes a version compatibility check between a plugin and the editor, so a plugin written for an older release is something you test yourself.

Where Lite XL is the wrong tool

The macOS signing note is a real friction point, and the README is unusually direct about it. It says newer versions are signed with a self-signed certificate and that you must open the application through Finder with a Control-click, and that the correct steps vary between macOS versions. A self-signed certificate is not the same as a notarised build, and the README itself points readers to Apple's macOS User Guide rather than claiming the process is smooth. If you deploy software to non-technical macOS users, that first-launch step is a support burden.

The build story has a similar edge. MSVC is used in CI, but the README states that MSVC-compiled binaries are not distributed officially or tested extensively for bugs. So the official Windows binaries are not the MSVC build, and if you compile with MSVC yourself you are outside the tested path. That is a meaningful caveat for anyone planning to ship a Windows build.

Finally, Lite XL is not an IDE and does not claim to be one. There is no bundled debugger, terminal or language server in the README's feature description. If your work depends on those, you are assembling them from plugins or using a different editor entirely. The compatibility with lite plugins is a strength, but it also means the plugin ecosystem is inherited rather than purpose-built.

How Lite XL differs from Sublime Text and Zed

The honest comparison is about where the code lives. Lite XL's editor logic is Lua loaded at runtime, and the README frames the whole project around being small and easy to modify. Sublime Text and Zed are closed and open source respectively but both ship large native applications with their own package ecosystems and built-in tooling; the README for Lite XL describes no comparable built-in package manager.

The build dependency list is another concrete difference. Lite XL needs SDL2, PCRE2, FreeType2 and Lua 5.4, and can pull them in through Meson wrap mode, which is a modest set for a GUI application. An editor that bundles a language runtime, a language server framework and a plugin host has a much larger surface. If your constraint is a small dependency footprint on a machine you control, Lite XL's list is short enough to audit by reading the README.

But the trade is real in the other direction too. Lite XL inherits its plugin compatibility from lite, and the project maintains a separate adapted plugin repository precisely because some plugins needed changes. An editor with its own first-class extension API does not carry that adaptation layer. Choose Lite XL for the small, readable core, not for a larger catalogue of extensions.

Maintenance, licensing and what upgrading costs you

The repository is not archived, and the last push was on 2026-03-11. The most recent tagged release in the list is v2.1.8 from 2025-06-08, with a release candidate v2.1.8-rc3 on 2025-06-05 and a continuous release from 2024-10-22. So there is a stable tag, a continuous build channel, and ongoing commits after the last tag. The README does not document a rollback procedure, and it does not describe an automatic update mechanism, so upgrading means downloading a new release or rebuilding.

That matters for the portable Windows layout in particular. Because a portable install keeps configuration and plugins in a user folder next to the executable, replacing the binary is a separate act from replacing that folder, and the README does not say what happens to a plugin written against an older release.

Lite XL is MIT licensed, and the repository carries a licenses/ directory alongside the LICENSE file. MIT is permissive, which generally means you can redistribute and modify it, but the bundled colour themes and any third-party plugins may carry their own terms, and the licenses/ directory is where to check that. This is a description of what is in the repository, not legal advice; if you plan to redistribute a build, read the files rather than assuming the top-level licence covers everything.

Editorial conclusion

Adopt Lite XL if you want a small editor whose behaviour you can change by editing Lua files and dropping plugins into a directory, and if you are comfortable building from source when no package exists for your distribution. Do not adopt it if you need an editor that ships a plugin marketplace, a graphical settings panel, or a large ecosystem of language tooling out of the box; the README points you to separate repositories for plugins and themes instead. Before committing, verify which release matches your OS: the prebuilt binaries cover Windows 7 and above, Ubuntu 18.04 and above with glibc 2.27, and macOS 10.11 and above, and check whether your distribution already packages its own binary, because the README notes that some do.

Frequently asked questions

What is Lite XL?

Lite XL is a lightweight text editor written mostly in Lua, adapted from the lite editor. The README says it aims to be practical, pretty, small and fast, and to be easy to modify and extend or to use without doing either.

How do I use Lite XL?

Download a prebuilt release for Windows, Linux or macOS from the releases page, or build it with Meson and the provided scripts/build.sh. Additional functionality comes from plugins in the separate plugins repositories, and colour themes are bundled with the releases.

Is Lite XL good?

It depends on what you want. The README positions it as a small editor that is easy to modify through Lua, but plugins and themes are separate downloads and the macOS build is signed with a self-signed certificate, which adds a first-launch step.

How does Lite XL compare with Sublime Text?

Lite XL's editor logic is Lua loaded at runtime, and the README describes no built-in package manager, while plugins and themes come from separate repositories. The build dependencies listed are SDL2, PCRE2, FreeType2 and Lua 5.4, a short list you can audit from the README.

Which is the lightest code editor?

The README does not rank editors by weight, so it cannot answer this directly. It does describe Lite XL as a lightweight text editor written mostly in Lua whose stated aim is to be small and fast, with dependencies limited to SDL2, PCRE2, FreeType2 and Lua 5.4.

Official sources

  1. License: MIT
  2. lite-xl/lite-xl on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/lite-xl-lite-xl.svg)](https://hysenlabs.com/projects/lite-xl-lite-xl)