SC 01TAKE 0424 FPS
Give any picture a bounce worth sharing.
Drop in a photo or a live token logo, pick a motion, write the caption, and Loopkit encodes a real looping GIF right in your browser. No upload, no account, no watermark.
- Encoder
- GIF89a, hand-written
- Motions
- 6 mesh warps
- Templates
- live from mainnet
01
The animator
Your picture is cut into a grid of triangles. Each frame moves the grid points, and every triangle is redrawn with an affine transform, so the image really bends instead of just sliding.
Drop an image here
Sample sticker drawn from code. Your file never leaves this tab.
Easing: each motion uses a cosine loop so frame 1 follows the last frame with no jump. The preview and the GIF use the same renderer.
02
Caption desk
Classic top-and-bottom, a label tag, or a lower third. Captions draw into the same canvas as the motion, so they ride along in the GIF, or export a still meme as a PNG.
Live preview · frame 1
03
Live templates
The logos of the tokens trending on Solana right now, pulled from Jupiter's public pools feed. Pick one and it lands in the animator. Or search any token by name or mint.
Source: datapi.jup.ag pools/toptrending and lite-api.jup.ag tokens/v2/search, mainnet. Logos are fetched through the public wsrv.nl image resizer so the canvas can read them. Updated ….
03b
Logos from your own bag
Connect a wallet, or paste any address, and Loopkit reads its token accounts on mainnet and turns every token it holds into a template. Animate the coins you actually hold.
04
Export a real GIF
Each frame is rendered, a 256-colour palette is built by median cut across all frames, every pixel is mapped to it, and the indices are LZW-compressed into GIF89a blocks with a loop extension. All in this tab, by code you can read.
Your GIF appears here after encoding. It is decoded by the browser itself, so what you see is the real file.
05
Creator stamp
Prove you made a loop first. Sign the GIF's SHA-256 with your wallet (free, off-chain), check the Ed25519 signature right here, and if you want a public timestamp, write the hash to Solana mainnet as a memo.
Sign the hash
Encode a GIF first. The message to sign will appear here.
Verify anyone's stamp
How it works
From photo to loop in five passes
- MeshThe picture is laid on a grid of points, two triangles per cell.
- MotionA loop function moves every point by phase, so the last frame meets the first.
- RasterEach triangle is redrawn with its own affine transform and clipped to shape.
- PaletteMedian cut splits the colour cube into 256 boxes; each pixel takes its nearest box.
- PackLZW turns the index stream into variable-width codes, packed into GIF blocks.
Exposure sheet
The numbers behind a loop
An animator's exposure sheet lists every frame. Ours lists what the encoder will do with your current settings, recalculated as you change them.
06
Questions
Does my photo get uploaded anywhere?
No. Your file is read with FileReader into this tab only. The animation, the palette and the GIF are computed in your browser; nothing is sent to a server.
Where do the templates come from?
From Jupiter's public pools feed (toptrending over 1, 6 or 24 hours) and its token search, both reading Solana mainnet. The image files are fetched through wsrv.nl, a public image resizer that sends the header browsers need before a canvas may read pixels.
Is the GIF encoder really in the page?
Yes. Open app.js and look for the encoder: median-cut palette, optional 4 × 4 ordered dither, LZW with clear codes at 4096, Netscape loop block. The preview image you see is your browser decoding those bytes.
What does connecting a wallet do?
It reads your public key so Loopkit can list the tokens you hold as templates and can ask your wallet to sign a stamp message. Connecting never moves funds. Signing a message is free and off-chain.
What does the mainnet memo cost?
Only the Solana network fee, usually 5,000 lamports (0.000005 SOL). The memo program stores your text in the transaction log. Nothing is sent to anyone, and you review the exact text before your wallet opens.
Can I use a token logo in my meme?
Logos belong to their projects. Loopkit only fetches public images for you to remix; check a project's terms before you publish anything commercial.