Google Chrome

Portal 2 custom cursor

Grab the Portal 2 Soft cute cursor - a free custom cursor pack for Portal fans.

✨ Move your mouse to test both cursors
Arrow Cursor

Default navigation pointer

Pointer Cursor

Used for clickable elements

Hover over each side to preview both cursor styles in real-time.

1,000+

Portal 2 Soft Custom Cursor Pack

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

PNG, resized to 32px
<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-cursor

How to Install Portal 2 cursors

How to Install cursor Portal 2 for Chrome

Portal 2 preview

Portal 2

Grab the Portal 2 Soft cute cursor - a free custom cursor pack for Portal fans.

  1. 1
    Go to Chrome Web Store

    Hit the 'Add to Browser' button to get the 'Portal 2' pack.

  2. 2
    Add the Extension

    On the Chrome Web Store, smash that ‘Add to Chrome’ button and confirm.

  3. 3
    Pin for Easy Access

    Pro-tip: Pin the 'Cute Cursors' extension to your toolbar for quick access.

  4. 4
    Activate Your Cursor

    Open the extension, find the 'Portal 2' pack, and click to activate. Easy peasy!

Piece of cake, right? Go on and have fun!

You may also like

Explore other cursor packs from our collection

Pakiet kursorów Portal 2

Darmowy pakiet kursorów Portal 2

Portal 2 Classic cute cursor - free custom cursor with Portal vibes.

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