Canon CR3 raw support - your move

You paid Canon over a thousand dollars for a shiny new camera that writes raw files in the new CR3 format, but alas! An open-source program you rely on does not support it. Instead of waiting until someone does something, be that someone and do something. Contact Canon and ask for them to “release the CR3 format specification under an open licence”. Better support boosts sales.

I don’t have a Canon camera. However, I did take the first step, so it should be easier for you (plural) to take the next one.


Thank you for your continued correspondence. I understand you are inquiring about the .CR3 file format, and I can further assist you.

A request for such information would have to be reviewed and approved by our Technical Support Engineers. In order to make an official request, we will need you to reply with the following information.

  • Your Name:
  • Company Name:
  • Business Address:
  • Phone:
  • Email:
  • Models for which you are requesting file information:
  • Nature of your Project - Why you are requesting this information:
  • Request: What exact information you are requesting.

There is no guarantee that if this information is available for release and if it is, you may be required to sign a Non-Disclosure Agreement (NDA). Once you supply this information it will be forwarded it to our Technical Service Engineers for review. I do nto have any estimated time on the length of this review process.

Please let us know if we can be of any further assistance.

Thank you for choosing Canon.


Technical Support Representative


That is a more substantive reply than I expected from technical support!

As to the information he requested - was that not in your initial contact, or is this a classic example of a tech support form letter that ignores the content of the initial request?

Some of the information being requested makes this sound a lot like Sony’s E-mount “only corporate entitites may apply”. (Which most people didn’t pay attention to, which is why you STILL see people attempt to claim that E-mount is open when it isn’t.)

That is not their first response :wink:
Yes, I already explained the information needed, the reason for needing it, and how it benefits Canon. They’re basically asking for it again, this time along with my personal details. As I don’t own a Canon camera and technically don’t give a hoot, it’s time for people who agreed to pay Canon money to take over.


If they request an NDA does that rule out open sourcing things?

20 years ago I went through something similar with one of their printers. The response was why when I bought my first DSLR, Canon was excluded from consideration.

It depends on the exact nature of the NDA, but I’m guessing Canon is not at all experienced in crafting a proper NDA that is conducive to FOSS.

(As I understand it, a number of the Linux kernel developers are under NDA for the purposes of driver maintenance for some hardware, and it’s crafted in such a way that the source code implementation with some level of documents is allowed, but certain very low-level architectural details of the hardware cannot be disclosed.)

A good example of this is the state of the CodeAurora Linux kernel for Qualcomm SoCs - it’s clear that whoever wrote a lot of that code had access to further documentation that is under NDA.

But again I suspect Canon’s NDAs are structured in such a way that a functional FOSS implementation would violate it. Which is why, again, we have to rely on reverse engineering. :frowning:

I suspect the libraw team has someone experienced with IDA Pro that they routinely work with to support their commercial endeavors such as RawDigger.

Maybe if they make a generally non-releasable algorithm in pseudo code available to the devs, an appropriately derivative codec would be releasable?

Seems like Alexey Danilchenko over at fastrawviewer has something working. Any chance that can be used?

edit: thought fast raw viewer was FOSS, I realize now it’s not. Still maybe they will play nice and clue the devs in on how to decode. Or maybe Alexey will if reached out to directly (he seems to have worked on some open source projects in the past, so maybe he will be willing to share)? Is there someone here who would be the right person to ask the FRV people/ Alexey nicely, haha?

edit 2: please pardon my complete ignorance here.

There’s some information about the format here. The developers on this forum probably already knew about this though.

You’ll notice there are some guesses as to the compression algorithm, but no concrete info.

Apparently libraw follows a Google AOSP-style approach (no source code published until a binary release occurs), so libraw may have support implemented but not published yet.

1 Like


thanks for the heads up :+1:!

1 Like

Just as a note, there may be other libraries you depend on that don’t support CR3 yet even if LibRaw does.

In my case, it’s exiv2.

fwiw, I’ve started working on adding cr3 support to ART. interested people can find the code at
I’ve tested only on a couple of images, so I don’t know yet to what extent it will work. note that you need a recent version of exiftool in your PATH for proper metadata support

1 Like

It’s now in master


:+1: Time to borrow the code for RT :wink:

Be my guest :wink: The decoding part should be fairly straightforward, though you might need to struggle for the metadata handling part – in my case it was relatively easy, I just leverage exiftool, but for RT it might be a bit more work…

1 Like

You paid Canon over a thousand dollars for a shiny new camera that writes raw files in the new CR3 format, but alas! An open-source program you rely on does not support it.

That would be me. Owning the R, and if I were a jpeg shooter I would have bought the RP. So, anything I can do? Supplying images, further contacting Canon or something like that?

How does Adobe do it? Do they pay under NDA to include it in their closed sourced products?

The CR3 format has already been reverse-engineered by some smart people, and development builds of RawTherapee already support it, though metadata is not supported yet.