How to Make Your Own X11 Cursors

Updated July 18, 2017

The X Windows system is the default display manager for most every Linux distribution. Various desktop environments, such as GNOME or KDE, use the X Windows system, commonly called X or X11, to provide users with a familiar desktop interface. You can use any graphics program capable of generating a PNG file to produce images that X11 can then use as cursors. Using programs that come with the X11 system, you can then generate a cursor from just the image file and a plain text configuration file.

Open the image you want to use for your cursor in the image editing program of your choice. There are several free and open source options for Linux and likely, depending on your distribution, one came with your system. Resize your image to 32 by 32 pixels so that it is the proper cursor size for X11. Save the image as a PNG file if it isn't one already.

Open a text editor and create a new blank file. Type the configuration settings "32 0 0 click.png" where "32" is the size of the image, "0" and "0" represent the X and Y coordinates of the cursor's point, and "click.png" is the name of your image file. Save this text file in the same directory and with the same name as your cursor, but with a ".cursor" file extension instead of a ".png" extension.

Launch a terminal window and navigate to the directory where you saved both the configuration file and your image using the "cd" command. Type "xcursorgen click.cursor default" where "click.cursor" is the name of the configuration file you created. Xcursorgen will automatically create an X11 cursor file that you can then use in your desktop theming.


There is a cursor naming convention and "default" in the xcursorgen command refers to the creation of a default cursor, usually represented by a pointer. If you are theming a different type of cursor, you should name it accordingly using the list at (see Resources).

Cite this Article A tool to create a citation to reference this article Cite this Article

About the Author

Chad Anderson began writing professionally in 2009. He primarily contributes articles on technology and outdoor topics for various websites. His areas of interest include Linux and open-source software along with cycling and other outdoor sports. Anderson holds a Bachelor of Arts in English literature from the University of Nevada in Reno.