Custom Cursors on macOS: What Actually Works in 2025

macOS does not officially support custom system cursors, but third-party tools like Mousecape can load pixel-art cursor capes safely. Here is the modern workflow. · 6 min read

macOS does not officially support changing system cursors. There is no Pointers tab in System Settings, and the system cursor itself is a privileged resource. The good news: a free, open-source tool called Mousecape has shipped pixel-art-friendly cursor support since 2014, and CursorCraft packs include a Mousecape .cape file specifically so this just works.

Step 1 — Install Mousecape

Download the latest Mousecape release from its GitHub project, drag the app into /Applications, and grant it accessibility permission when macOS prompts. Mousecape needs accessibility access because it injects the cursor into the WindowServer process; this is the same permission TextExpander or Rectangle ask for.

Step 2 — Import the .cape

Open Mousecape, click File → Import, and pick the .cape file from the unzipped CursorCraft pack. The pack appears in your Capes list. Right-click and choose Apply. Your cursor changes immediately — no reboot, no logout.

Step 3 — Survive a reboot

Mousecape’s applied cape persists across reboots as long as Mousecape is set to run at login (System Settings → General → Login Items). If your cursor reverts to the default arrow after a restart, that is the missing piece.

Limits to know

Apple does not version Mousecape APIs, so each major macOS release can briefly break cursor injection until the project ships a patch. If you upgrade to a brand-new macOS release on launch day, expect a few weeks of vanilla pointer life.

Alternatives

For browser-only use cases — for example, if you want a pixel cursor on your portfolio site — the CSS cursor approach works without installing anything, on every visitor’s machine, and does not require Mousecape.

More guides