Bring your Luau and Python functions to Microsoft Excel

xllify is a packaging tool and runtime that allows functions written in Luau and Python to be used as high-performance custom functions in your Microsoft Excel workbooks. No more unwieldy formulas or VBA. Take advantage of modern tooling to build and deliver robust, performant solutions.

$ xllify MyAwesomeFunctions.xll finance.luau trading.py ✓ Built MyAwesomeFunctions.xll (2.4 MB) in 1.2s
Download pre-built demos to try it out yourself →
Microsoft Excel for Windows 64-bit required
No C compiler required
Run the xllify tool to package your .py or .luau files into a ready-to-use .xll in seconds. Visual Studio, .NET and the Windows SDK are not needed. xllify is also CI-friendly with native GitHub Actions support.
High performance
xllify is written in C++ and uses the low-level Excel C SDK, with support for multithreaded recalculation (MTR) and shared memory for maximum performance.
Unlimited distribution
Your functions are packaged into an .xll file which is yours to distribute and deploy without restriction, forever. Python dependencies, if used, automatically install into an automatically created virtual environment.

Write code

Create functions in Luau or Python with your favourite editor or IDE

Run xllify

Build your XLL in seconds with a single command

Install

Load your add-in into Excel to start using your functions

Supported languages

Multiple scripting languages are supported for deployment to Microsoft Excel on Windows. Mac support is planned.

Luau

Luau (a variant of Lua) is embedded into xllify for "close to the metal" performance with Excel, while remaining safely sandboxed. It has strong numerical performance and is used in Roblox and other well-known games.

  • Code is embedded as bytecode and sandboxed (no file system access, users can't easily view your code)
  • Maximum performance (runs at native speeds)
  • Pure computations and simple async operations
  • True multithreaded recalculation
  • Incredibly fast statistical functions in the xllify standard library, implemented in C++ - maybe Pandas is overkill for some use cases!
xllify.fn({ name = "xllify.Hello" },
function(name)
    return "Hello, " .. name .. "!"
end)

Python

Python is the defacto choice for data analysis and machine learning. Python processes run externally and communicate with Excel efficiently through named pipes and shared memory. Repurpose your existing, tried and tested code in a few minutes.

  • Full system access without sandboxing restrictions
  • Use any Python library (pandas, numpy, duckdb, requests...)
  • Ideal for data analysis, machine learning and calling out to APIs
  • Keeping your code private from end-users isn't required
  • Load balancing across multiple processes to make use of multiple cores
@xllify.fn("xllipy.Hello")
def hello(name: str) -> str:
    return f"Hello, {name}!"

Both Luau and Python deliver the performance needed for large, mission-critical workbooks. 5000 calls to Python takes ~40ms and 5000 calls to Luau takes just 8.5ms, on an everyday laptop CPU (AMD Ryzen 5 5500U).
Try it out for yourself →

Performance benchmark showing Luau and Python function calls over 5000 iterations

Why xllify?

Formulas aren't maintainable at scale. They're not reusable and it's easy to create a mess when they're duplicated. Custom functions can be the answer, but every way to add them to Excel has trade-offs:

xllify removes the trade-offs. It delivers C SDK performance through simple scripting languages (Luau and Python). No compiler setup, no complex builds, just one command. Your scripts package into a single ~2.5MB file that's easy to deploy and manage. Licensing is per-XLL, not per-seat. You can distribute each XLL to unlimited users with no ongoing costs, making it significantly more cost-effective for independent developers, consultancies, and businesses distributing Excel-native solutions to large user bases.

While xllify is less fully-featured than some competitors and doesn't support all their advanced capabilities, it focuses on what matters most: reliable and fast execution of functions. This streamlined approach means simpler deployment, fewer moving parts, and maximum performance where it counts.

xllify is currently free for all users during beta and will always be free for individuals. Drop alex@xllify.com an email to arrange a demo.