Initializing... drag & drop files here
Supports: CR3
CR3 is Canon's current raw format — built on the ISO Base Media File Format with Canon's own crx codec inside, and first shipped on the EOS M50 in April 2018. APNG is the animation extension of PNG, and as of the PNG Third Edition it is no longer a side agreement between browser vendors: the W3C published that edition as a Recommendation on 24 June 2025 with APNG specified in it, described there as "a replacement for simple animated images that have traditionally used the GIF format, while adding support for 24-bit images and 8-bit transparency, which GIF lacks". This page develops each raw file into a frame and assembles those frames into one animation. Add a burst or a timelapse and you get motion; add a single .cr3 and you get a plain static PNG, since there is nothing for the animation chunks to describe.
.apng. Files are uploaded over an encrypted connection, assembled on our servers and deleted automatically a few hours later — no sign-up, no watermark.| Framerate setting | Delay held on each frame | A 24-frame burst runs for |
|---|---|---|
| 50 FPS (Max Speed) | 0.02 s | about 0.5 s |
| 30 FPS (Smooth) | 0.033 s | about 0.8 s |
| 25 FPS | 0.04 s | about 1.0 s |
| 20 FPS | 0.05 s | 1.2 s |
| 15 FPS | 0.067 s | about 1.6 s |
| 12 FPS | 0.083 s | 2.0 s |
| 10 FPS (Recommended) | 0.1 s | 2.4 s |
| 8 FPS | 0.125 s | 3.0 s |
| 5 FPS | 0.2 s | 4.8 s |
| 2 FPS (Slow) | 0.5 s | 12 s |
| 1 FPS (Slideshow) | 1.0 s | 24 s |
| Property | APNG | GIF | Animated WebP |
|---|---|---|---|
| Colour per frame | 24-bit, no palette | 256 colours chosen per frame | 24-bit |
| Transparency | 8-bit alpha | 1-bit, on or off | 8-bit alpha |
| Frame compression | Lossless | Lossless, but only after the palette has been reduced | Lossy or lossless |
| Specified in | PNG Third Edition, a W3C Recommendation since 24 June 2025 | The GIF89a specification, 1989 | Google's WebP container specification |
| Browser reach per caniuse | 95.94% | Effectively universal | 96.18% for WebP overall |
| If the viewer cannot animate it | Falls back to the first frame as an ordinary PNG | Not applicable | Nothing is displayed |
| Suits a rendered raw sequence | Yes — gradients survive intact | Poorly — skies and skin tones band | Yes, if some loss is acceptable |
Add more than one .cr3 before you convert. Each raw file becomes exactly one frame, in the order the files were added, and the Framerate setting decides how long each is held. A burst shot on an EOS R body, a bracketed set or an interval timelapse all work; what does not work is expecting motion from one photograph, because there is only ever one frame in the file to animate.
You still get a valid file, just not an animated one. With a single rendered frame there is nothing for the animation chunks to describe, so the output is written as an ordinary static PNG rather than an APNG. It looks and behaves exactly like any other still image, and every viewer will display it correctly — but do not expect motion from one raw file.
Because GIF gives each frame a palette of 256 colours, and a developed raw photograph is continuous tone. Skies, skin tones and out-of-focus backgrounds are precisely the content that palette reduction damages, so a GIF of a raw sequence bands or dithers where the original was smooth. APNG stores each frame as full 24-bit colour with lossless compression, so what you assembled is what plays back. The W3C's own framing of APNG in the PNG Third Edition makes the same point about 24-bit images and 8-bit transparency being what GIF lacks.
It loops indefinitely. The assembler is given a loop count of zero, which in APNG means play forever, and there is no control on this page to change that. If you need a single playthrough, open the finished file in an APNG-aware editor and set the loop count there, or use a video target such as CR3 to WebM, where playback repetition is decided by the player rather than baked into the file.
Because there is no lossy setting to hide behind. Every frame is a lossless, full-colour image, so a sequence of full-resolution Canon raws produces a genuinely big file — the format is doing what it promises. Image resolution is the control that matters: drop to a preset height or an explicit pixel width and the size falls roughly with the pixel count. Trimming the number of frames helps just as directly. The assembled file is also put through a Zopfli optimisation pass, which shaves it down further without touching a pixel.
They do not have to be, but a consistent sequence gives a better result. The frames of an APNG share one canvas, so mixed dimensions are normalised onto a common canvas before assembly rather than being rejected. A burst from one camera is already uniform; a set gathered from different bodies, or a mix of landscape and portrait frames, will end up padded to fit and is worth sorting out before you upload.
Nearly all current browsers: caniuse reports 95.94% global support, with Chrome from 59, Edge from 79, Firefox from 3 and Safari from 8. The notable gaps are Internet Explorer and Opera Mini. The design of the format takes care of those cases — because APNG is backwards-compatible with plain PNG, a decoder that cannot animate simply ignores the animation chunks and shows the first frame, so the image never appears broken. If you need something that animates literally everywhere, CR3 to GIF is the fallback.
No, and nothing in an 8-bit display format could. A CR3 stores 12 to 14 bits per channel of sensor data behind Canon's crx codec, which is what lets you re-judge exposure and white balance long after the shot. Building an animation means developing each raw into ordinary 8-bit pixels first, and that interpretation is then fixed. Set your white balance and exposure before converting, and keep the .cr3 originals — for a single still rather than a sequence, CR3 to PNG is the direct route.