TutuCut

HTML to Video

Turn web animation, Canvas and Three.js code into MP4

Start from a template

One click opens the editor with the motion already added. For templates with media slots, drag a video or image onto the card, or tap “Use my files”, and it is already in place when the editor opens. Files stay on your device; nothing is uploaded.

Paste a web animation made with Canvas, SVG, GSAP or Three.js. It is drawn frame by frame, layered over your video and exported as MP4 or GIF. Runs in your browser, free, no watermark.

Paste web animation code or import an .html file and it becomes a motion clip on the timeline: transparent background, layered over your video or image, and movable, scalable, fadeable, keyframable and animatable like any other clip.

The editor draws it frame by frame by time instead of screen-recording it: the same moment always gives the same frame, so the preview is exactly what you export. Math.random, Date and requestAnimationFrame are switched to a deterministic clock; GSAP and Three.js are built in, so no external script tags are needed.

The code runs in an isolated sandbox with no network access, so external images and fonts do not load; inline them as data: URLs if you need them. Parameters the piece declares (text, colors, numbers) appear in the settings panel on the right, and you can export MP4 or GIF right away.

FAQ

Which coding styles are supported?
Four common styles work as-is: define window.__seek(t) to draw one frame per second value; build a paused GSAP timeline and put it in window.__timelines; position a Three.js scene by time inside __seek and render it; or a plain requestAnimationFrame loop. If the page is a single canvas, the canvas is captured directly; otherwise the whole page (SVG, CSS, text) is drawn as one frame.
Can I use libraries from a CDN?
GSAP (with the CustomEase, MotionPath, MorphSVG, DrawSVG and SplitText plugins) and Three.js are built in, and CDN addresses pointing to them are swapped for the built-in copies automatically. Other external libraries cannot load, because the sandbox has no network access.
Does the exported video have sound?
Motion clips have no sound of their own, and audio played by the code is not recorded. Add music or a voiceover on the timeline separately and export it together with the motion.
What if my code throws an error?
The top of the preview and the clip itself show that something went wrong, and the original error message appears in the code dialog. Click “Ask AI to fix” and the AI reads your code, fixes it and checks the result. Until then the preview holds the last good frame, and other clips are not affected.
Is my code uploaded?
No. The code is saved with the project in your browser and is rendered and exported on your device. It is uploaded only if you choose to save the project to the cloud.

Related tools