SC 01TAKE 0424 FPS

Turn any picture into a funny moving GIF.

For anyone who wants a quick meme: pick a photo or a coin's logo, choose how it wiggles, add a caption, and download a looping GIF to post anywhere. Free, no sign-up.

Everything happens inside your browser, so your photo is never uploaded. Coin logos come live from the Solana network.

Cost
Free, no account
Movements
6 styles
Coin logos
live trending now
F 001squash · stretch · settle

StoryboardHow it works in 3 steps

  1. Panel 1 · You give

    A picture: your photo, our sample, or a coin's logo.

  2. Panel 2 · Loopkit does

    Makes it bounce or wobble and adds your caption.

  3. Panel 3 · You get

    A looping GIF file you can download and post anywhere.

Nothing is uploaded, moved or charged. Your wallet is only used if you choose to sign something, and you see it first.

01

Make your picture move

What this does: it makes your picture bounce, wobble or nod in a short loop.

Pick a picture, pick a movement, and drag the sliders until it looks right. Behind the scenes the picture is cut into a grid of small triangles that bend, so it really stretches instead of just sliding.

Loads our sample sticker with the jelly wobble.

Drop an image here

F 01 / 24
Source

Sample sticker drawn from code. Your file never leaves this tab.

Motion
Backdrop

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

Add a caption

What this does: it puts your words on the picture, meme style.

Top-and-bottom text, a label tag, or a TV-style strip at the bottom. The text moves with the picture and goes into the GIF. You can also save a single still picture (PNG).

Fills a sample caption and saves a still picture.

Layout

The still is frame 1 of your loop at 640 × 640.

Live preview · frame 1

03

Use a trending coin's logo

What this does: it shows the logos of coins people are trading right now, ready to animate.

Tap a logo and it drops into the animator. Or search a coin by name, or paste its coin address. The list comes live from Jupiter, a popular Solana trading site.

Searches for BONK, a well-known Solana coin.

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

Animate the coins you own

What this does: it lists the coins in a wallet so you can animate their logos.

Connect your wallet, or paste any public wallet address. Loopkit only reads the public list of coins it holds. It cannot move anything.

Reads a large public wallet, no wallet of yours needed.

No address yet. Your wallet is read-only here: we only see the public key.

04

Download your GIF

What this does: it turns your loop into a GIF file you can save and share.

Pick a size and press Make GIF. It takes about a second, all inside this tab. For the curious: the page picks the best 256 colours and compresses the frames itself, with code you can read.

Makes a small GIF of whatever is in the animator.

Size
Frames
–
Palette
–
File size
–
Encode time
–

Fingerprintmake a GIF first

Your GIF appears here after encoding. It is decoded by the browser itself, so what you see is the real file.

05

Prove you made it first

What this does: it lets you put your wallet's name on a GIF so others can check you made it.

Your wallet signs the GIF's fingerprint, for free. Anyone can paste that signature on the right to check it. Optional: write the fingerprint on Solana as a public memo with a date, for a tiny network fee.

Makes a throwaway test key, signs, and checks it. No wallet needed.

Sign the hash

Make a GIF first (step 04). The message to sign will appear here.

Verify anyone's stamp

How it works

From photo to loop in five passes

  1. MeshThe picture is laid on a grid of points, two triangles per cell.
  2. MotionA loop function moves every point by phase, so the last frame meets the first.
  3. RasterEach triangle is redrawn with its own affine transform and clipped to shape.
  4. PaletteMedian cut splits the colour cube into 256 boxes; each pixel takes its nearest box.
  5. PackLZW turns the index stream into variable-width codes, packed into GIF blocks.

Exposure sheet

The numbers behind a loop

What this does: it tells you how long and how big your GIF will be before you make it.

An animator's exposure sheet lists every frame. Ours lists what the encoder will do with your current settings, recalculated as you change them.

LineItemValueWhy it matters
01Frame delay–GIF stores delay in hundredths of a second, so 24 fps rounds to 4 cs (25 fps).
02Loop length–Frames × delay. Under three seconds feels like a heartbeat; longer feels like a clip.
03Triangles per frame–More triangles bend more smoothly and cost more draw calls.
04Pixels to encode–Every one is mapped to the palette and fed to LZW.
05Raw size (8-bit)–What LZW starts from. Flat colour compresses well, photos less so.
06Upload-friendly–Most chat apps accept GIFs up to about 8 to 15 MB; estimate uses a 0.45 ratio (model).

06

Questions

What is this, in one sentence?

Loopkit is a free web page that turns a photo or a coin's logo into a short looping GIF, with a caption, that you can download and post.

Is it safe? Does it touch my money?

Making and downloading GIFs never needs a wallet and never touches money. If you connect a wallet, Loopkit only reads your public address and the list of coins you hold. The one thing that costs anything is the optional "write memo on mainnet" step: a network fee of about 0.000005 SOL, only after you see a review screen and approve it in your own wallet. Loopkit never asks for your secret recovery phrase and cannot move your coins.

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.

07

Words explained

What this does: it explains, in plain words, the few technical terms on this page.

GIF
A small picture file that plays a short animation on repeat. Works in most chat apps and on X.
Coin address (mint, CA)
A coin's unique ID on Solana, a long string of letters and numbers. "CA" is short for contract address.
Wallet address
Like a public account number. Anyone can see what it holds; only the owner can move anything.
Token account
The little box inside a wallet that holds one kind of coin. Loopkit reads these to list your coins.
Fingerprint (SHA-256)
A short code worked out from a file. Change one pixel and the code changes completely.
Signature, signing
Your wallet approves a piece of text so others can check it came from you. Signing a message is free and moves nothing.
Ed25519
The kind of maths Solana wallets use for signatures. Loopkit checks them with your browser's built-in tools.
Memo
A short note saved forever in a Solana transaction. It sends nothing to anyone.
Network fee, lamports
What Solana charges to record a transaction. 5,000 lamports = 0.000005 SOL, a tiny fraction of a cent.
Mainnet
The real, live Solana network (not a test copy).