Export Multi-Resolution Windows Cursors in GIMP

Creating custom Windows cursor (.cur) files with multiple resolutions ensures your pointer looks sharp across standard, high-DPI, and 4K displays. This guide provides a straightforward process for setting up different resolution sizes using layers in GIMP, defining your cursor hotspot, and properly exporting the finished file in the native Windows cursor format.

Step 1: Set Up the Canvas and Layers

GIMP treats each layer as a separate resolution frame when exporting icon and cursor formats. Standard Windows cursor sizes are 32×32, 48×48, 64×64, and 128×128 pixels.

  1. Open GIMP and go to File > New.
  2. Set the canvas width and height to your largest planned size (e.g., 128×128 pixels).
  3. Under Advanced Options, ensure Color space is set to RGB color and Fill with is set to Transparency. Click OK.
  4. Draw or paste your cursor graphic on this base layer and name the layer 128x128.

Step 2: Add Smaller Resolution Layers

Windows requires smaller scales for standard displays or lower scaling factors.

  1. Duplicate your main layer by right-clicking it in the Layers panel and selecting Duplicate Layer.
  2. Select the duplicated layer and go to Layer > Scale Layer....
  3. Change the dimensions to 64×64 pixels. Set Interpolation to NoHalo or LoHalo for clean downscaling, then click Scale.
  4. Rename this layer to 64x64.
  5. Repeat the process to create 48×48 and 32×32 layers.
  6. Make sure all layers are visible (the eye icon is turned on for each).

Step 3: Identify the Hotspot Coordinates

A cursor hotspot is the exact single pixel that registers a click.

  1. Select your primary layer (typically the base size or standard 32×32).
  2. Hover your mouse over the exact pixel where the click should trigger (for an arrow, this is the very tip of the point).
  3. Note the X and Y pixel coordinates shown in the bottom-left corner of the GIMP window (e.g., X: 0, Y: 0 for the top-left corner).

Step 4: Export to .CUR Format

  1. Go to File > Export As....
  2. In the bottom-right dropdown menu, choose **Microsoft Windows Cursor (*.cur)**, or manually type .cur at the end of your filename.
  3. Choose your destination folder and click Export.
  4. An export configuration dialog will appear:
    • Enter the Hotspot X and Hotspot Y values you determined in Step 3.
    • Verify that each layer is assigned the appropriate color depth (typically 32-bit RGBA).
  5. Click Export to finalize the cursor file.

Step 5: Test the Cursor in Windows

  1. Open the Windows Settings app and navigate to Accessibility > Mouse pointer and touch (or search for Mouse Properties in the Control Panel).
  2. Under the Pointers tab, select a state (such as "Normal Select") and click Browse....
  3. Select your newly exported .cur file and click Apply to verify that scaling and the hotspot work correctly.