Portal 2 cursor
Portal 2 Classic cute cursor - free custom cursor with Portal vibes.
Grab the Portal 2 Soft cute cursor - a free custom cursor pack for Portal fans.
Try this cursor
Move across the preview to feel both cursor styles.

Frame your pointer with Portal 2 Soft: a bold cute cursor packed with test chamber charm. Install this free custom cursor in Chrome or Edge, or set it on Windows 10/11 with the Custom Cursor app for desktop-wide clicks.
Bright accents let Portal 2 Soft stay crisp on light and dark pages. Fan-made only - not affiliated with or endorsed by Valve.
Round out your set with the Portal 2 Classic Cursor Pack, the undefined, and the undefined.
Install Portal 2 Soft and give your mouse a playful Portal upgrade today.
Customize your embed code and preview it in real time below.
Live preview
<style type="text/css">
body {
cursor: url(https://cdn.cutecursors.com/db/portal_2_cute_cursors_cute_cursor/arrow.png) 4 4, auto;
}
a, button, .clickable {
cursor: url(https://cdn.cutecursors.com/db/portal_2_cute_cursors_cute_cursor/hand.png) 4 4, pointer;
}
</style>
<a href="https://cutecursors.com//category/portal/portal-2-cute-cursors-cute-cursor" title="Get free Portal 2 cursors for your website.">
Portal 2 Cursors
</a>/* components/CuteCursor.jsx */
"use client";
import { useEffect } from "react";
const CURSOR = "https://cdn.cutecursors.com/db/portal_2_cute_cursors_cute_cursor/arrow.png";
const POINTER = "https://cdn.cutecursors.com/db/portal_2_cute_cursors_cute_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 />
Portal 2 cursors by https://cutecursors.com//category/portal/portal-2-cute-cursors-cute-cursor */-- Portal 2 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/db/portal_2_cute_cursors_cute_cursor/arrow.png
-- Pointer: https://cdn.cutecursors.com/db/portal_2_cute_cursors_cute_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)
-- Portal 2 cursors: https://cutecursors.com//category/portal/portal-2-cute-cursors-cute-cursorGrab the Portal 2 Soft cute cursor - a free custom cursor pack for Portal fans.
Hit the 'Add to Browser' button to get the 'Portal 2' pack.
On the Chrome Web Store, smash that ‘Add to Chrome’ button and confirm.
Pro-tip: Pin the 'Cute Cursors' extension to your toolbar for quick access.
Open the extension, find the 'Portal 2' pack, and click to activate. Easy peasy!
Explore other cursor packs from our collection
Portal 2 Classic cute cursor - free custom cursor with Portal vibes.
Portal orange portal cute cursor packs the glowing orange oval arrow and a matching orange pointing-hand pointer.
Portal blue portal cute cursor brings the glowing cyan oval arrow and a matching cyan pointing-hand pointer.
Portal companion cube cute cursor packs the pink heart cube arrow and a matching grey pink pointing-hand pointer.
Portal red button cute cursor brings the red pressure button arrow and a matching red pointing-hand pointer.
Portal sentry turret cute cursor packs the white turret red eye arrow and a matching white red pointing-hand pointer.
Our universe of cursors is huge. Dive into hundreds of unique collections and find the one that truly represents you.
Explore All CollectionsIdle
{
"status": "idle"
}