Easily write Excel functions in Python

PyXLL makes it possible to write addins for Microsoft Excel in Python. Using simple decorators your Python code can instantly be exposed to Excel as worksheet functions, menu items or macros.

Excel addins written using PyXLL are fast to develop and offer high performance as well as being easier to maintain and deploy than other methods of developing Excel addins.

PyXLL is used by investment banks, hedge funds and engineering companies all over the world.

All recent versions of Microsoft Excel for Windows are supported, including Excel 2003, 2007, 2010 and 2013 (both 32 bit and 64 bit versions of Excel 2010 and Excel 2013 are supported).

PyXLL is designed to work with all versions of Python from 2.3 to 3.5. The standard cPython interpreter is used which means all of your compiled CPython modules will also work, including 3rd party packages such as numpy or your own modules compiled with Cython, SWIG, boost or the Python C API.

To use PyXLL you must have Python installed, and it must be the version corresponding to the version of PyXLL you have downloaded. You must also have the standard python modules included in your system’s PYTHONPATH, which is usually done for you by the Python installer.

Webinars: See PyXLL in Action

Deploying Python to Excel with PyXLL

See how PyXLL makes it easy to write Excel add-ins to leverage the capabilities of Python and the simplicity of the presentation of Excel.

Supercharging Excel Analytics with Python

See how PyXLL helps solve data analysis challenges with advanced Python tools and analytic engines.

Why PyXLL?

  • Increase productivity by using a modern dynamic language
  • Python is embedded in Excel in-process for the best possible performance
  • Leverage your existing Python code base
  • Reduce risk by storing code in your version control system instead of embedded in Excel files
  • Deploy changes more easily as the PyXLL addin just references your Python modules from the filesystem
  • Reduce coding iteration cycles by removing the compile-and-restart step usually associated with other addins
  • No COM registration or boilerplate VBA code required
  • Get better performance using numpy, scipy, pandas and your own optimized cPython modules


  • Write Excel worksheet functions, macros and menu items in Python
  • Functions are automatically included in the Excel Function Wizard with their python docstrings
  • Asynchronous functions in Excel 2010 and 2013
  • Thread-safe functions run across multiple threads from Excel 2010 onwards
  • Reload and test without restarting Excel
  • Built-in support for numpy datatypes
  • Customizable type system for handling non-standard datatypes
  • Use win32com for calling back into Excel from PyXLL modules and for Excel event handling
  • Stubs pyxll module provided to allow PyXLL code to be used outside of Excel (for unit testing etc.)
  • Compatible with cPython modules compiled with SWIG, Boost, Cython etc.
  • Support for large array types from Excel 2007 onwards
  • Unicode support from Excel 2007 onwards