Resize Windows Cursor by Editing .CUR Files
Motivation. Due to Windows 11's design, the cursor size is scaled along with the display scaling ratio. On my 27-inch 4K monitor with 150% scaling, even the smallest cursor may still look too big. Unfortunately, Windows 11 does not permit shrinking the cursor beyond its built-in minimum size. To further reduce the cursor size, I have to manually edit the cursor icon files.
What is .cur file. A .cur
file is a Microsoft Windows Cursor Resource file
that stores custom or default cursor graphics for the Windows mouse pointer.
In the simplest case, it carries a bitmap image for the cursor icon and a coordinate
(known as the hotspot) for defining the specific pixel that Windows uses to detect mouse clicks.
How to edit a .cur file. There are many tools for editing these files. Here, I use RealWorld Cursor Editor, a free yet capable free software for editing cursors. My goal is to reduce the cursor size. With a proper editor, the remaining process is as simple as: 1) resize the bitmap image; 2) adjust the hotspot. Below is a step-by-step guide with RealWorld Cursor Editor 2023.
First, prepare a set of .cur
files that defines the cursor theme. Here, I use Oreo Pink.

Open the .cur file and inspect. For example, open normal-select.cur
.
Toggle Integral Coordinate and navigate to the right-bottom corner.
The bottom of the application window shows the current coordinate, suggesting that this image is 64 x 64.
Toggle Cursor Hot Spot to highlight the pixel corresponding to the hotspot. For this frame, it is located at (16, 2).

Resize one frame. Click Transformation and toggle Preserve aspect ratio. Select the whole image and then resize it as you wish. Here, I resize it to 48 x 48.

It’s worth noting that this step actually reduces the content area of the icon within the same canvas —the canvas itself remains 64 × 64. Simply resampling the whole canvas down to 48 × 48 won’t work. That is because Windows automatically scales the icon image to 32 × 32, no matter what its original size is. What I really want here is to make the icon smaller within its 64 × 64 canvas, so it appears smaller relative to the same bounding box.
Then, adjust the hotspot and save the result for this frame.

Resize the other two frames. This single .cur
file bundles three frames, as shown in the Preview panel.
The rightmost frame is 64 x 64, whereas the middle frame is 48 x 48 and the leftmost frame is 32 x 32.
Follow the same procedure to resize the other two frames.


Process other .cur files and .ani files. Follow the same procedure to edit the remaining .cur
files.
Note that there are files ending with .ani
, which stands for animated cursor. They are very similar
to .cur
files, except that they use a series of images for animation. When editing .ani
files,
select all images and use Image -> More transformations -> Transformation to resize all images simultaneously.
Remeber to set the transformation mode to Move, resize …


Install the cursor theme. Open the install.inf
and change relevant lines to
# ... [Strings] CUR_DIR = "Cursors\Orero Pinnk Tiny" SCHEME_NAME = "Orero Pinnk Tiny" # ...
Save and exit. Right click install.inf
and install.