Turn HTML5 ads into MP4, WebM or GIF without screen recording
RecordHTML plays your creative in a real Chrome browser and records it at the exact size, frame rate and length you set, from a 300×250 banner to a 4416×1656 DOOH screen. Paste a link or upload a ZIP and it finds the ad's size for you.
10 credits free every month · No card needed
- Exact sizes, from 320×50 banners to 4416×1656 screens
- 23.976, 29.97 and 59.94 fps as exact rates
- H.264 at a constant bitrate for DOOH players
- Sound recorded in MP4 and WebM
Why screen recordings miss the brief
A screen recorder films your desktop. An ad spec asks for an exact canvas, frame rate and length, and the two rarely match.
Screen recording
- Captures a window, so scaling and borders change the size
- Drops or repeats frames when the computer is busy
- Saves 30 fps when the spec says 29.97
- Starts when you click, so every take begins somewhere else
RecordHTML
- Records the ad at its exact pixel size, whatever the screen
- Delivers the exact frame count: 15 seconds at 29.97 fps is 450 frames
- Encodes 23.976, 29.97 and 59.94 fps as exact rates
- Starts at the page load, or where the ad calls trim_start()
Your ad already moves. We record it the way Chrome plays it.
How to turn an HTML5 ad into video
- Step 1
Paste a link
Paste the creative's URL or upload its ZIP. RecordHTML opens it in Chrome, measures it and fills in the size.
- Step 2
Choose the output
MP4, WebM or GIF, a preset from 300×250 to 4416×1656, the frame rate and the length.
- Step 3
Record and download
It records in real time. Preview the result in your account, crop or trim it if you need to, then download.
Real recordings, with their settings
Each file below came out of RecordHTML unchanged, at its real pixel size. The caption gives its settings and its size as delivered. Open the creative to compare it with its recording.
Display banner, 300×250
300×250 · 30 fps · 240 frames · H.264 CRF 18 · 103 KB
Recorded from a CSS animated banner. Open the creative · Download the file
Story cut, 1080×1920
1080×1920 · 30 fps · 300 frames · H.264 CRF 18 · 1.3 MB
Recorded from a vertical HTML5 creative with CSS gradients and SVG. Open the creative · Download the file
DOOH screen, 4416×1656
4416×1656 · 29.97 fps · 180 frames · H.264 15 Mbps CBR · 11.9 MB
Recorded from an HTML5 creative with an SVG motion path. Open the creative · Download the file

Backup GIF, 728×90
728×90 · 15 fps · 90 frames · GIF, looping · 87 KB
Recorded from a CSS animated leaderboard. Open the creative · Download the file
One HTML5 creative. More ways to deliver it.
Made for ad ops teams, agencies and DOOH planners who deliver one creative to every channel a campaign runs on.
HTML5 banner to video
Your banner as MP4 or WebM for social and CTV, at the size each platform asks for.
Backup GIF
A looping GIF at 1 to 30 fps, sized for display networks.
DOOH video
4416×1656 at 29.97 fps, encoded as H.264 with a constant bitrate.
HTML to MP4
CSS, GSAP, canvas or WebGL animation as H.264 video, with sound.
Website to video
A public web page playing in Chrome, at the window size you choose.
Built for the delivery spec
Nothing to change in the creative
CSS, JavaScript, WebGL, video and audio play as they do in Chrome. Add trim_start() only if the ad has a loader.
Delivery specs, not just pixels
Choose a constant or variable bitrate, the pixel format, and whether a GIF loops or plays once.
The size, found for you
It reads the ad.size tag and the canvas, then measures the page in a real browser. You can change anything it suggests.
Edits without a new recording
Crop and trim a finished video in your account. The original stays, so you can change the edit or revert it.
For developers and AI assistants
Record from your own code
The REST API uses the same recorder, limits and storage as the web app. Send a creative URL, then poll the job or let a webhook tell you when the video is ready.
- Keys you can revoke at any time
- Safe retries with idempotency keys
- Signed webhooks when a video is ready
curl https://api.recordhtml.com/v1/jobs \
-H "x-api-key: $RECORDHTML_API_KEY" \
-H "content-type: application/json" \
-d '{
"url": "https://recordhtml.com/samples/nordlys-300x250.html",
"width": 300,
"height": 250,
"durationSec": 8,
"format": "mp4"
}'Start free. Buy credits when you need more.
Every account gets 10 credits a month for free, with no card. Plans begin at €9 a month and credit packs at €10.
See pricingFrequently asked questions
- What does it cost?
- Every account gets 10 credits a month for free, with no card. For more, plans start at €9 a month and credit packs at €10. See pricing.
- What can I record?
- Any HTML5 creative or web page at a public URL, or a ZIP you upload: ads exported from Google Web Designer or Adobe Animate, code written by hand, and CSS, canvas or WebGL animation.
- Which sizes and frame rates can I use?
- Any size up to 8,294,400 pixels per frame (3840×2160), with presets from 300×250 to 4416×1656. Video runs at up to 60 fps, including 23.976, 29.97 and 59.94; GIF at whole numbers from 1 to 30 fps.
- Does it record sound?
- Yes. MP4 and WebM can include the audio the page plays. GIF has no sound.
- How long can a recording be?
- Up to 60 seconds. It starts when the page loads, or when the ad calls trim_start(), and ends when the ad calls trim_end() or the time is up.
- Who can see my files?
- Your videos belong to your account, and their download links are signed and expire. A ZIP you upload is different: anyone with its address can open it, so leave out anything confidential.
- Can I automate it?
- Yes. The REST API and the MCP server use the same account, limits and recordings as the web app, and a signed webhook can tell your system when a video is ready.
Record your first HTML5 ad as video
10 credits free every month · No card needed