Skip to content
/ git-xl Public

Git extension: Makes git-diff work for VBA in Excel workbooks (xls* file types)


Notifications You must be signed in to change notification settings


Repository files navigation

Git XL - A Git Extension for Excel

(Note: Git XL was previously called "git-xltrail")

Git XL is an open-source Git command line extension for managing Excel workbook files in Git.

The extension makes git diff work for Excel VBA (xls, xlt, xla, xlam, xlsx, xlsm, xlsb, xltx, xltm). Git XL does not require Excel as it works directly on the workbook file.

With Git XL installed, Git can diff Excel VBA just like any other source code file.

It is written in Python, with pre-compiled binaries available for Windows.

Installation instructions and docs are available at

Getting Started


You can install the Git XL client on Windows, using the pre-compiled binary installer.

This repository can also be built-from-source using Python and PyInstaller.

Git XL requires a global installation once per-machine. This can be done by running:

C:\Developer>git xl install

Alternatively, initialise Git XL locally (per repository), using the --local option, inside the root folder of your repository’s local working copy:

C:\Developer>git xl install --local


Diff workbooks

Get meaningful git diff output when comparing Excel workbook files containing VBA code.

C:\Developer>git diff dev..master
diff --xl a/Book1.xlsb b/Book1.xlsb
--- a/Book1.xlsb/VBA/Module/Module1
+++ b/Book1.xlsb/VBA/Module/Module1
@@ -1,4 +1,4 @@
 Option Explicit
 Public Function Version() As String
-   Version = "v1.0"
+   Version = "v1.1"
 End Function


Docs are available at


Please open a new issue to report bugs or create a pull request to send patches.