Spectre custom cursor
Spectre cute cursor pack - free custom cursor with haunt-path haze.
Default navigation pointer
Used for clickable elements
Hover over each side to preview both cursor styles in real-time.
Spectre Custom Cursor Pack
Haunt-path haze on your tip: Spectre turns the pointer into a cool cute cursor full of shadow grit. This free custom cursor works in Chrome or Edge, and on Windows 10/11 with Custom Cursor when you want the same look across Windows apps.
Ghostly accents stay readable so the tip never disappears. Fan-made artwork celebrating Dota 2 vibes - not an official product.
Shadow neighbors wait in the Faceless Void Cursor Pack, the Wraith King Cursor Pack, and the Riki Cursor Pack.
Download Spectre and let a quiet haunt ride every click.
Customize your embed code and preview it in real time below.
Live preview
<style type="text/css">
body {
cursor: url(https://cdn.cutecursors.com/images/cursors/5d88aa7bde6af.png) 4 4, auto;
}
a, button, .clickable {
cursor: url(https://cdn.cutecursors.com/images/pointers/5d88aa7bde6d0.png) 4 4, pointer;
}
</style>
<a href="https://cutecursors.com//category/dota-2/spectre-cute-cursors" title="Get free Spectre cursors for your website.">
Spectre Cursors
</a>/* components/CuteCursor.jsx */
"use client";
import { useEffect } from "react";
const CURSOR = "https://cdn.cutecursors.com/images/cursors/5d88aa7bde6af.png";
const POINTER = "https://cdn.cutecursors.com/images/pointers/5d88aa7bde6d0.png";
export default function CuteCursor() {
useEffect(() => {
const style = document.createElement("style");
style.innerHTML = `
body { cursor: url(${CURSOR}) 4 4, auto; }
a, button, .clickable { cursor: url(${POINTER}) 4 4, pointer; }
`;
document.head.appendChild(style);
return () => style.remove();
}, []);
return null;
}
/* Usage: render <CuteCursor /> once, e.g. in your root layout or App:
<CuteCursor />
Spectre cursors by https://cutecursors.com//category/dota-2/spectre-cute-cursors */-- Spectre custom cursor for Roblox
-- LocalScript (place it in StarterPlayer > StarterPlayerScripts)
--
-- 1) Download the cursor images (buttons above) or grab them here:
-- Cursor: https://cdn.cutecursors.com/images/cursors/5d88aa7bde6af.png
-- Pointer: https://cdn.cutecursors.com/images/pointers/5d88aa7bde6d0.png
-- 2) Upload them in Roblox Creator Hub as Decals (Create > Decals).
-- 3) Replace the IDs below with your uploaded Image asset IDs.
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local CURSOR_ICON = "rbxassetid://CURSOR_ASSET_ID"
local POINTER_ICON = "rbxassetid://POINTER_ASSET_ID"
-- Set the default cursor
UserInputService.MouseIcon = CURSOR_ICON
-- Optional: switch to the pointer icon while hovering GUI buttons
local function hookButton(button)
button.MouseEnter:Connect(function()
UserInputService.MouseIcon = POINTER_ICON
end)
button.MouseLeave:Connect(function()
UserInputService.MouseIcon = CURSOR_ICON
end)
end
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
for _, gui in ipairs(playerGui:GetDescendants()) do
if gui:IsA("GuiButton") then
hookButton(gui)
end
end
playerGui.DescendantAdded:Connect(function(gui)
if gui:IsA("GuiButton") then
hookButton(gui)
end
end)
-- Spectre cursors: https://cutecursors.com//category/dota-2/spectre-cute-cursorsHow to Install Spectre cursors
How to Install cursor Spectre for Chrome
Spectre
Spectre cute cursor pack - free custom cursor with haunt-path haze.
- 1Go to Chrome Web Store
Hit the 'Add to Browser' button to get the 'Spectre' pack.
- 2Add the Extension
On the Chrome Web Store, smash that ‘Add to Chrome’ button and confirm.
- 3Pin for Easy Access
Pro-tip: Pin the 'Cute Cursors' extension to your toolbar for quick access.
- 4Activate Your Cursor
Open the extension, find the 'Spectre' pack, and click to activate. Easy peasy!
You may also like
Explore other cursor packs from our collection
Didn't Find Your Vibe?
Our universe of cursors is huge. Dive into hundreds of unique collections and find the one that truly represents you.
Explore All Collections







