CR3 to APNG: A Canon Sequence as a Lossless Animation
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.
How to Convert CR3 to APNG
- Upload Your CR3 Files: Drag the whole sequence onto the page or click "+ Add Files". Upload order is playback order, so put the frames in the order you want them seen before you convert.
- Set the Framerate: The Framerate control runs from "1 FPS (Slideshow)" to "50 FPS (Max Speed)" and opens on "10 FPS (Recommended)". It sets the delay attached to every frame — the per-frame delay is exactly one divided by the framerate — so it decides both the speed and the total running time of the animation.
- Choose the Frame Size and Whether to Combine: Image resolution opens on "Keep original" and also accepts a percentage, a preset height, a width or height in pixels, or an explicit Width x Height — this is the single most effective control over the finished file size. Combine? is set to "Single animation"; switch it to "Individual files" to get one APNG per raw file instead.
- Convert and Download: Click Convert and save the
.apng. Files are uploaded over an encrypted connection, assembled on our servers and deleted automatically a few hours later — no sign-up, no watermark.
Frame Timing: What Each Framerate Setting Means
| 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 |
APNG Against the Other Animated Formats
| 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 |
Frequently Asked Questions
How do I actually get an animation rather than a single frame?
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.
What happens if I upload just one CR3?
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.
Why choose APNG over GIF for frames that came from raw files?
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.
Does the animation loop, and can I make it play once?
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.
Why is my APNG so large, and what should I change first?
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.
Do all my CR3 files have to be the same size and orientation?
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.
Which browsers and apps will play the APNG?
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.
Does the APNG hold on to the raw file's editing latitude?
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.