crabcrop playground
Live demo, real server

Play with the URL. It renders for real.

This page talks to a running crabcrop server. Upload your own image or start with a sample, turn the controls, and the signed URL below is built and signed in your browser, then rendered on demand by the server. Nothing here is a simulation.

1. Pick an image

Samples live on the demo server. Uploads are yours alone, under a random name only this page knows.

Drop an image here or click to choose a file
JPEG, PNG, WebP, GIF or AVIF, up to 10 MB
Uploads are deleted 1 hour after upload. The sweep runs every 15 minutes; an expired upload answers 404, and its renders age out of the cache on their own.

2. Turn the controls

Every control rewrites the operations in the URL, and editing the operations or the URL by hand moves the controls back. The whole still-image grammar is here: if this server can do it, it has a control.

Sizing
Rectangles and focus
Format and encoding
80
Adjust
0
0
1
0
0
0
0
Tone and color
0
10
Blur, sharpen, kernels
0
0
Shape and frame
Regions
Overlays
80
80

Not on this demo: smart and face crops, background removal, studio mode, face and object redaction, AI upscale, and region removal need the AI image and its models. Text overlays need a font configured on the server, MP4 and WebM output need a configured video encoder, and frame and page selection need video and PDF sources. This demo runs the standard image with none of those, so they are not in the controls. The operations field below still accepts the whole grammar, and this server answers the rest with an honest error.

3. The signed URL

Signed in your browser with a demo-only key embedded in this page; it verifies on this demo server and nowhere else. Copy it, paste it anywhere, edit it: change one character of the operations and the signature stops verifying.

The render

Your render appears here.
Format
...
Dimensions
...
Size
...
Cache
...

How the signing works

A crabcrop URL is signed with a secret key, and that key normally stays on the server, never anywhere near a browser. This page is the deliberate exception: it signs locally, in your browser, with a key that belongs only to this demo instance, so the whole loop from controls to signed URL to real render stays on one page with no backend of its own. The demo key verifies here and nowhere else: not on the production crabcrop.org image service, not on any other deployment. Your own deployment keeps its key secret, the way the docs describe.