Charming animated pixel pets that live on your Windows desktop — with a built-in pixel art studio to design your own.
⬇️ Download the latest portable version — zero-install: unzip and run PetDesk.exe. No setup, no account, no store required.
PetDesk brings friendly, animated pixel companions to your Windows desktop while you work, relax, or browse. Pick from eight built-in pet packs — cats, slimes, puppies, bunnies, penguins, foxes, pandas, and ducks — or design your own sprite animations in the integrated pixel art editor. Pets wander, idle, and react on a transparent always-on-top layer, and the app tucks itself into the system tray when you don't need it.
- 🐱 8 built-in pet packs, each with hand-drawn 32×32 multi-frame animations (walk + idle)
- 🖥️ True per-pixel transparent overlay — borderless topmost windows that stay out of Alt-Tab and the taskbar
- 🚶 Pet brain with idle/walk behavior — pets wander, turn around, and pause on their own
- 📐 Scale (50 %–250 %) and animation speed (0.25×–3×) controls
- 📌 Always-on-top toggle, global pause, and one-click hide/show of every pet
- 🖱️ Drag pets anywhere — placements persist across restarts
- 🔄 Per-screen DPI awareness (PerMonitorV2) — pets stay crisp on mixed-DPI setups
- ✏️ Full editor: pencil, eraser, fill, eyedropper, rectangle/ellipse/line/triangle drawing
- 🎞️ Per-animation frame timeline with add / duplicate / remove and frame reordering
- 🎨 Palette tools with color picker and live animated preview
- 🔀 Undo/redo, selection move with arrow keys, Delete and Escape support
- 💾 Autosave — every edit shows up on your desktop pets immediately
- 📚 Browse, rename, export and delete packs; import packs shared by others (plain JSON)
- 🏷️ Built-in packs refresh automatically; user packs never overwrite built-ins
- 🗂️ Packs live in
%LOCALAPPDATA%\PetDesk\packs— one JSON file per pet
- 🔔 System tray integration — show/hide pets, pause, reset positions, open the Studio, exit
- 🌗 Light / dark / system theme with a one-click header toggle
- 🚀 Optional launch-at-startup (registry Run key, starts minimized to the tray)
- 🧯 Crash logging to
%LOCALAPPDATA%\PetDesk\logsfor painless diagnostics - 🪟 Single-instance — launching again restores the running Studio
| Layer | Technology |
|---|---|
| UI framework | WinUI 3 (Windows App SDK 2.4), .NET 8 |
| Language | C# 12 (nullable enable) |
| Rendering | WriteableBitmap software sprite renderer + Win32 layered windows (DWM alpha) |
| Pet AI | Lightweight finite-state brain (idle ↔ walk, per-pet timers) |
| Tray | H.NotifyIcon.WinUI |
| Storage | Newtonsoft.Json — settings, theme and pet packs under %LOCALAPPDATA%\PetDesk |
| Packaging | Fully unpackaged + WindowsAppSDKSelfContained — the published zip runs on any Windows 10 (1809+) or Windows 11 x64 machine with no runtime install |
PetDesk.exe
├── App single-instance mutex, tray + overlay lifecycle, Studio window
├── MainWindow (Studio) NavigationView shell: Pose Library / Editor / Settings
├── PetOverlayManager owns one PetOverlayWindow per desktop pet; persists placements
│ └── PetOverlayWindow transparent topmost window + SpriteRenderer + PetBrain
├── PetPackService loads/saves/imports JSON pet packs (built-ins provisioned on first run)
├── SettingsService settings.json persistence
├── Helpers
│ ├── PixelArt pack/animation/frame model + built-in pack art
│ ├── SpriteRenderer WriteableBitmap compositor (flip, scale, pause, fps)
│ ├── PixelCanvas interactive pixel grid (pointer + keyboard tools)
│ └── Win32 / WindowHelper layered-window setup, DPI, icons, maximize
Prerequisites
- Windows 10 1809+ or Windows 11 (x64)
- .NET 8 SDK with the Windows 10 SDK build tools (restored automatically as NuGet packages)
- No MSIX/packaging tools needed — the project is pure unpackaged
git clone https://github.com/uponatime2019/PetDesk.git
cd PetDesk
# Build (Debug)
dotnet build PetDesk.csproj -p:Platform=x64
# Run
dotnet run --project PetDesk.csproj -p:Platform=x64
# Publish a standalone portable folder
dotnet publish PetDesk.csproj -c Release -p:Platform=x64 -o publish_outThe Release publish output is fully self-contained (Windows App SDK + .NET runtime are bundled), so the resulting PetDesk.exe runs on machines without any framework install.
| Shortcut | Action |
|---|---|
Ctrl + L |
Open the Pose Library |
Ctrl + E |
Open the Editor |
Ctrl + Z |
Undo (editor canvas) |
Ctrl + Y |
Redo (editor canvas) |
Delete / Backspace |
Clear the current selection |
Esc |
Cancel the current selection |
← → ↑ ↓ |
Nudge the selection by one pixel |
- 8 built-in pet packs with walk + idle animations
- Pixel art editor with frame timeline and live preview
- Pack import / export (JSON)
- Tray integration with quick controls
- More built-in species (dragon, axolotl, capybara…)
- Click interactions — pets react when poked or picked up
- Screen-edge behaviors (climbing, sitting on the taskbar)
- Speech bubbles / emotes
- GIF sprite-sheet import for one-click custom pets
- Multiple pets of the same pack side by side
- Per-pet scale (global scale today)
- Portable single-file exe
Contributions are very welcome — PetDesk is a fun project and everyone is invited! 💛
Whether you want to fix a bug, add a pet species, improve the editor, or polish the docs, here's how to get started:
- 🍴 Fork the repository and create a branch from
master - 🔧 Build & run locally (
dotnet build PetDesk.csproj -p:Platform=x64) — see Building from Source - ✅ Make your change, keep the code style, and test the app (pets + editor + tray)
- 📥 Open a pull request with a short description of what and why
Other ways to participate:
- 🐞 Report bugs via Issues — crash logs from
%LOCALAPPDATA%\PetDesk\logsare gold - 💡 Suggest features or new pet species in an Issue
- 🎨 Design pet packs and share the JSON in a discussion
- ⭐ Star the repo if you like it — it genuinely helps discovery!
See CONTRIBUTING.md for details.
PetDesk is released under the MIT License — free to use, modify and share.

