desksprite

A tiny JavaScript desktop pet for your web page — grab it, throw it, watch it eat lunch.

Zero-dependency, drop-in <script> · a vanilla-JS web mascot / browser buddy · an alternative to Shimeji and oneko.

🖱️ Drag it off the desk, throw it, then toss it back onto the screen.

Install

<script src="https://unpkg.com/desksprite"></script>
<script> DeskSprite.start(); </script>

Or grab desksprite.js and drop it in. No build step, no framework.

What it does

A little pixel character lives in a CRT desk on your page. It works, occasionally wanders off and walks the floor, and comes back. You can pick it up (it dangles from the cursor, scared of heights), throw it with real gravity + momentum, and toss it back onto the screen to seat it. At noon it eats lunch. Wire your app's status into its monitor with setStatus(), or just let it be cute.

FAQ

Is desksprite a Shimeji / oneko alternative?
Yes — it fills the same "desktop pet on a website" niche, but it's a zero-dependency vanilla-JS widget you drop into any page (no extension, no Java), with drag/throw physics and customizable skins.
Does it have dependencies or a build step?
No. One <script> tag. It draws itself on <canvas> and injects its own CSS.
Can I use my own character?
Yes — skins are data (a standard file). Draw any creature (cat, dog, dragon…) and load it; see the repo's skin format.
Does it work on mobile / with React/Vue?
Mouse + touch via Pointer Events. It's framework-agnostic — call DeskSprite.start() from anywhere.

MIT · github.com/welltilln/desksprite