Note
This project recieved a full rewrite and was renamed from ani-to-xcursor to
ani2xcur on March 10, 2026.
A command-line tool for installing Windows animated cursor schemes on Unix-like operating systems running the X Window System.
Windows animated cursors use the ANI file format, a container format that stores multiple animation frames along with metadata such as frame timing and frame order.
Related cursors are grouped into cursor schemes. A cursor scheme is typically
distributed together with an Install.inf file, which contains the metadata
required to register and install the scheme.
ani2xcur utilizes this information to accurately convert each animated cursor
into the Xcursor format and installs the resulting files in the locations
expected by the X Window System.
While many larger projects now parse INF files to perform bulk cursor conversions, this project was the first to introduce that approach.
Originally created to fill that gap, it now focuses on providing an ergonomic solution: a single command-line interface with intentionally designed subcommands, optimized for speed and correctness.
| Requirement | Version | Description |
|---|---|---|
| cargo | 1.94.0 | Build and install the command-line interface |
| xcursorgen | 1.0.8 | Xcursor generation backend |
Install from GitHub using cargo:
cargo install --git https://github.com/nicdgonzalez/ani2xcurOr, download a pre-built binary from the Releases page on GitHub.
Tip
Need a cursor to start with? Try NOiiRE's Hornet Cursor from Hollow Knight: Silksong.
From the directory containing the Install.inf file, run:
ani2xcur install --default-initFrom the directory containing the Install.inf file, run:
Tip
If your INF file has a different name, use the --inf flag instead of
renaming the existing file.
ani2xcur initThis command parses the INF file and extracts the information needed to decode
each .ani file. The results are written to an intermediate Cursor.toml
file.
Next, build the cursor theme:
ani2xcur buildThis command parses each .ani file and generates animated cursors in
Xcursor format. The cursors are placed in a theme directory using the
standard X cursor naming conventions.
Then, install the theme:
ani2xcur installThis creates the necessary links so X can locate and use the newly created cursor theme.
Finally, enable the theme using your system's cursor settings. The exact process varies by distribution, but most desktop environments provide a command-line tool or a graphical settings panel.
Enjoy!
If you only want to convert a single ANI file:
Note
This will output everything into a dedicated build directory like the
build command does. I would recommend moving your ANI files into a separate
directory prior to running this command.
mkdir custom-theme
mv *.ani ./custom-theme/
cd custom-themeani2xcur convert Default.ani- Automatically scale cursors to standard sizes.
- Remove
xcursorgendependency. - Remove need for
builddirectory for theconvertsubcommand. - Interactive mode to convert individual cursors with Linux remappings.