Osu! custom cursor
Try Osu cute cursor - free custom cursor with clean arcade energy.
Default navigation pointer
Used for clickable elements
Hover over each side to preview both cursor styles in real-time.
Osu Custom Cursor Pack
Load your tip with Osu: a bold cute cursor packed with arcade charm. Grab this free custom cursor for Chrome and Edge, and on Windows 10/11 with Custom Cursor when you want the same look across apps.
Soft outlines help Osu stay sharp while you scroll and click. It is fan-made cursor art only and is not tied to any official game product line.
Explore more from the collection like the Slope Ball Games Cursor Pack, the Animal Crossing Daisy Mae Cursor Pack, and the Subway Surfers Games Cursor Pack.
Get Osu and keep a sharp casual-game pointer close at hand.
Customize your embed code and preview it in real time below.
Live preview
<style type="text/css">
body {
cursor: url(https://cdn.cutecursors.com/cdn-sweezy/packs/osu-cursor/arrow.png) 4 4, auto;
}
a, button, .clickable {
cursor: url(https://cdn.cutecursors.com/cdn-sweezy/packs/osu-cursor/hand.png) 4 4, pointer;
}
</style>
<a href="https://cutecursors.com//category/mobile-games/osu-cursor" title="Get free Osu! cursors for your website.">
Osu! Cursors
</a>/* components/CuteCursor.jsx */
"use client";
import { useEffect } from "react";
const CURSOR = "https://cdn.cutecursors.com/cdn-sweezy/packs/osu-cursor/arrow.png";
const POINTER = "https://cdn.cutecursors.com/cdn-sweezy/packs/osu-cursor/hand.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 />
Osu! cursors by https://cutecursors.com//category/mobile-games/osu-cursor */-- Osu! 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/cdn-sweezy/packs/osu-cursor/arrow.png
-- Pointer: https://cdn.cutecursors.com/cdn-sweezy/packs/osu-cursor/hand.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)
-- Osu! cursors: https://cutecursors.com//category/mobile-games/osu-cursorHow to Install Osu! cursors
How to Install cursor Osu! for Chrome
Osu!
Try Osu cute cursor - free custom cursor with clean arcade energy.
- 1Go to Chrome Web Store
Hit the 'Add to Browser' button to get the 'Osu!' 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 'Osu!' 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







