Read this first
This article is not legal advice. How a license applies depends on your use case, your distribution model, the governing law, and any agreements you have signed. For an actual decision, always consult a qualified professional such as a lawyer.
Everything here was checked on July 20, 2026. License terms get revised. Every claim carries a source URL, so please verify the current situation against the primary sources yourself.
Where we could not confirm something, we say so rather than guessing. See "What we could not verify".
Building software that handles RAW files surfaces a set of questions that ordinary image formats never raise. The formats themselves are vendor-specific and undocumented, the decoder libraries tend to carry copyleft licenses, and official vendor SDKs sit behind an application and an agreement. This article works through those points against primary sources.
1. Where RAW formats actually stand
RAW is not one format. It is an umbrella term for a family of vendor-specific, often model-specific formats: Canon's CR2 and CR3, Nikon's NEF, Sony's ARW, Panasonic's RW2, Fujifilm's RAF, Sigma's X3F, and many more.
Most of them build on the TIFF structure (IFDs), but the core parts, such as the sensor data compression and the color matrices, live in vendor-private territory, and there is generally no published specification. The vendor SDK pages we checked back this up. Fujifilm is explicit about it on the Camera Control SDK page:
Source: FUJIFILM Camera Control SDK (checked 2026-07-20)
In other words, open source RAW decoders can read these formats not because the vendors published specifications, but because developers analyzed the files and implemented support. That fact is what leads to the reverse engineering question later in this article.
2. Open source RAW decoders
Here is the overview. In each case we read the license document itself, or the license file in the repository.
| Library | License | Key point |
|---|---|---|
| LibRaw | LGPL 2.1 or CDDL 1.0 (your choice) | No commercial license offered today. Demosaic packs are licensed separately |
| dcraw | No formal license (the author's own permission notice) | Free to use. Redistribution is conditional because of the Foveon RESTRICTED functions |
| rawspeed | LGPL 2.1 | The RAW decoding library of the darktable project |
| libopenraw | LGPL 3 or later | Some files carry individual licenses such as MPL-2.0 |
| Adobe DNG SDK | Adobe's own terms (effectively permissive) | Not an OSI-approved license. Carries an indemnity for commercial distribution |
| exiv2 | Source headers say GPL-2.0-or-later | For metadata. The commercial license option has ended. Conflicts with the wiki's "GPLv2.0 only" (see below) |
| ExifTool | Internally inconsistent (LICENSE is the full GPL v3; README says same terms as Perl) | For metadata (see below) |
| Little-CMS | MIT | For color management |
2-1. LibRaw: a dual license you choose between
LibRaw is the de facto default for RAW decoding. The repository's COPYRIGHT says the software is offered "under the terms of the one of two licenses as you choose." Reading the top of the actual license files confirms the versions:
LICENSE.LGPLopens with "GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1, February 1999". That is 2.1, not LGPL 3.LICENSE.CDDLopens with "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0".
Sources: LibRaw COPYRIGHT / LICENSE.LGPL / LICENSE.CDDL (all checked 2026-07-20)
As for what each choice demands, LibRaw's own explanation runs roughly as follows. Under LGPL 2.1, you use the library as a shared library and publish any changes you make to the library itself under LGPL 2.1. CDDL 1.0 is described as more permissive, in that you are not forced to publish your changes to the library. Attribution is required either way, and a signed written agreement is not needed.
Source: libraw.org/node/2228 (checked 2026-07-20)
2-2. Two things people miss about LibRaw
(1) The demosaic packs are licensed differently. LibRaw has add-ons in separate repositories, LibRaw-demosaic-pack-GPL2 and LibRaw-demosaic-pack-GPL3, which are GPL v2 or later and GPL v3 or later respectively. If you link them at build time, your build becomes subject to the GPL, which defeats the point of choosing LGPL or CDDL. Check your build options.
Sources: demosaic-pack-GPL2 / demosaic-pack-GPL3 (checked 2026-07-20)
(2) The separate commercial license no longer exists. LibRaw was once offered as a three-way choice of LGPL2, CDDL, or LibRaw's own license, but the proprietary option was dropped in the 0.18 release, and the project announced that signed agreements had expired. The assumption that "you can pay for a commercial license to sidestep copyleft" no longer holds.
Source: libraw.org/node/2228 (checked 2026-07-20)
2-3. dcraw: a permission notice, not a license
dcraw is Dave Coffin's single-file RAW decoder, and it is the starting point for nearly every implementation that followed. It carries no formal open source license. The opening comment of dcraw.c is the terms.
(a) offer, at no extra charge, full source code for all executable files containing RESTRICTED functions (with a note that if you have not modified dcraw.c, a link to the author's homepage qualifies as full source code); (b) distribute the code under the GPL Version 2 or later; (c) remove the RESTRICTED functions, re-implement them, or copy them from an earlier unrestricted revision; (d) purchase a license from the author.
The RESTRICTED scope is narrow: it covers only the functions that process Foveon images, and only since Revision 1.237. All other code "remains free for all uses."
Sources: dcraw.c ($Revision: 1.478 $, $Date: 2018/06/01$, checked 2026-07-20) / dcraw homepage
Note that the latest published revision of dcraw.c dates from June 2018. We found no end-of-life statement from the author, but it is reasonable to treat the project as effectively frozen. There is little reason to adopt dcraw directly in new work today.
LibRaw is derived from dcraw, and its COPYRIGHT states plainly that "LibRaw do not use RESTRICTED code from dcraw.c." Precisely because it excludes the restricted parts, LibRaw can be distributed under LGPL and CDDL without inheriting dcraw's redistribution conditions.
2-4. The WebAssembly trap
If you want to handle RAW in the browser, a WebAssembly port of LibRaw looks like the obvious candidate. Be careful here.
The npm package libraw-wasm declares "license": "ISC" in its manifest, yet we found no license file in the corresponding GitHub repository. A WASM build of LibRaw is a derivative work, and a downstream wrapper cannot relicense LibRaw's code as ISC. The actual terms should be LGPL 2.1 or CDDL 1.0. On top of that, Emscripten output is statically linked, so whether it satisfies the relinking requirement of LGPL 2.1 is not self-evident. CDDL 1.0 looks like the more natural basis, but the package asserts neither.
2-5. Metadata libraries: the license statements inside the project disagree
ExifTool and exiv2 are used for reading and writing metadata rather than decoding RAW. Both have a problem of a particular kind: it is not that the license cannot be determined, but that checking it surfaces an inconsistency.
ExifTool. The repository's LICENSE file is the full text of GPL v3 (it opens with "GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007"). The README, meanwhile, says: "This is free software; you can redistribute it and/or modify it under the same terms as Perl itself (either the Perl Artistic License or GPL)." The same terms as Perl means a choice of the Artistic License or GPL v1 or later, which is not the same thing as shipping the GPL v3 text. This is not something we failed to verify; it is a documented inconsistency within the distribution. Where the exact terms matter, ask the author.
Sources: ExifTool LICENSE / ExifTool README (checked 2026-07-20)
exiv2. The project wiki states "GPLv2.0 only", but the SPDX headers in the source code that actually ships read SPDX-License-Identifier: GPL-2.0-or-later (for example src/image.cpp). The two differ on a substantive point: whether you may elect v3. In practice, the SPDX header in the source you actually received is the one that governs. This article's table therefore does not assert "GPL v2" but follows the source and says GPL-2.0-or-later.
Sources: exiv2 src/image.cpp (SPDX header) / Exiv2/exiv2 repository (checked 2026-07-20)
3. Adobe DNG
DNG (Digital Negative) is Adobe's general-purpose RAW format. It is often simplified to "the spec is public, so it is free," but in practice you have to separate three things: the patent license, the SDK license, and the trademark.
3-1. The patent license
Through the DNG Specification Patent License, Adobe grants "all individuals and organizations the worldwide, royalty-free, nontransferable, nonexclusive right under all Essential Claims to make, have made, use, sell, import, and distribute Compliant Implementations." The scope is limited solely to permitting the reading and writing of image files that comply with the DNG Specification.
Three practical points follow.
- Attribution is required: implementations must state prominently, in source and documentation, that "This product includes DNG technology under license by Adobe."
- Defensive termination: your rights may be revoked if you bring a patent action against Adobe relating to reading or writing DNG-compliant files.
- No specific patent is named: the license does not identify particular patents.
Sources: Adobe: Digital Negative (DNG) / DNG Specification 1.6.0.0 PDF (carries the DNG Specification Patent License up front) (checked 2026-07-20; later editions are linked from the DNG page)
3-2. The DNG SDK
The DNG SDK ships with source code, under a broad grant: a "non-exclusive, worldwide, royalty free license to use, reproduce, prepare derivative works from, publicly display, publicly perform, distribute and sublicense the Software for any purpose." It is nonetheless not an OSI-approved license. Copyright notices must be preserved, documentation may be copied but not modified, and commercial distributors must defend, indemnify and hold harmless Adobe.
Source: Adobe: Digital Negative (DNG) (SDK distribution page) (checked 2026-07-20; clauses cross-checked against the license text bundled with the SDK and public mirrors)
3-3. Trademarks are a separate matter
"Adobe" and the DNG logo are trademarks or registered trademarks of Adobe, and using them to endorse or promote a product requires a separate written agreement with Adobe. The patent license being free has nothing to do with whether you may use the logo.
Source: Adobe: Digital Negative (DNG) (checked 2026-07-20)
3-4. It became an ISO standard in March 2026
For a long time DNG was not an ISO standard. The related TIFF/EP is ISO 12234-2, and DNG has been described as compatible with it, but being compatible is not the same as being identical.
That changed recently. DNG has been published as ISO 12234-4:2026, "Digital imaging — Image storage — Part 4: Digital negative format". The iso.org listing gives only "Edition 1" and "2026-03"; no day-level publication date is shown. This article therefore stays within what can be verified and says March 2026.
Sources: ISO 12234-4:2026 / ISO 12234-2:2001 (TIFF/EP) (checked 2026-07-20)
4. Official camera vendor SDKs
It is tempting to assume that using an official vendor SDK is the safe route, but the SDK's purpose is often not RAW conversion at all. Here is what we were able to confirm.
| Vendor | What the SDK is for | RAW decoding |
|---|---|---|
| Nikon | Two families: Camera Remote SDK and Image SDK. Application and agreement required | Yes (Image SDK opens NEF/NRW) |
| Canon | EDSDK, behind an application form and an agreement | A build labelled "with RAW Library" exists as a separate entry (the difference from the unlabelled build is an inference; see below) |
| Sony | Camera Remote SDK. Remote control and image retrieval | Not described |
| Fujifilm | Camera Control SDK, behind EULA acceptance | Explicitly out of scope |
| Panasonic | LUMIX Remote Control Library (beta). Requires the camera's 11-digit code | Not described |
| OM SYSTEM | We could not confirm a current official camera SDK | |
4-1. Nikon
Nikon's SDK site describes two families: "A Camera Remote SDK to integrate remote control features" and "An Image SDK to open RAW images (NEF and NRW files)." Among the vendors we checked, Nikon stands out for offering an official SDK that opens RAW files. On cost, Nikon states that "the use of SDK is free within the limit of license agreements," and on conditions, that "All limitations you need to follow (if any) are written in the license agreements presented when you download the SDKs." In other words, the agreement presented at download time is what governs. The application flow likewise only lets you proceed once you accept the agreement.
Sources: the quoted passages are all from the Nikon SDK FAQ (/information/en/). The description of the application flow comes from the application guide (both checked 2026-07-20)
4-2. Canon
Canon's EDSDK is provided through an application form. Canon's Asia SDK listing shows "ED-SDK V13.20.10 with RAW Library" and "ED-SDK V13.20.11" as separate entries. The release notes also record that version 13.9.10 (December 13, 2018) "Deleted RAW development functionality."
Sources: Canon Developer Resources / EDSDK release notes (checked 2026-07-20)
4-3. Sony
Sony's Camera Remote SDK is aimed at remote control and retrieval of captured images; no RAW decoding capability is described anywhere on the page. Its license terms are public, and the key points are:
- The grant is "limited, non-exclusive, and non-transferable," covering installing and using the software on your PC.
- Redistribution is allowed only in embedded form: you may "incorporate a binary form of the library file into the APPLICATION SOFTWARE in an inseparable way and distribute."
- You "may not attempt to derive source code, modify, reverse engineer, decompile, or disassemble any of the SOFTWARE."
- A "Prohibited Use" section bars military and weapons applications.
Sources: Sony Camera Remote SDK / license agreement (checked 2026-07-20)
sony_camera_api repositories on GitHub are third-party wrappers around the older Camera Remote API, not Sony's official SDK. Do not treat them as evidence of the SDK's licensing.
4-4. Fujifilm and Panasonic
Fujifilm's Camera Control SDK exists to automate image transfer and remotely access basic controls, and as noted above, RAF conversion information is explicitly out of scope. The same page also carries a strong clause: "USING THIS SDK TO CONNECT TO, OR CONTROL, ANY COMPATIBLE FUJIFILM CAMERA, WILL VOID THE CAMERA'S LIMITED PRODUCT WARRANTY." That is a consequential line to overlook during evaluation.
Panasonic's LUMIX Remote Control Library covers settings, shooting operations, and acquisition of live view or still and video copies. Using it requires accepting a software license agreement and entering the 11-digit code printed inside the camera's battery holder. The terms also note that operation and support are not guaranteed because it is a beta version.
Sources: FUJIFILM Camera Control SDK / LUMIX SDK (checked 2026-07-20)
5. Where reverse engineering stands
Since there are no published specifications, open source RAW decoders exist because someone analyzed the formats. That raises the question of interoperability exceptions.
5-1. The 2005 NEF encryption controversy
This became a real dispute in 2005, when Nikon encrypted the white balance data in the D2X and D2Hs, leaving third-party converters unable to handle it correctly. Nikon defended the move, saying that "Nikon's preservation of its unique technology in the NEF file is employed as an action that protects the uniqueness of the file," and pointed developers to its official SDK.
At the time, Adobe's Thomas Knoll warned that reverse engineering could mean legal trouble with Nikon through the license agreement or the Digital Millennium Copyright Act of 1998.
Source: Nikon Defends Encrypted NEF Format (checked 2026-07-20)
5-2. Interoperability exceptions
EU: Software Directive 2009/24/EC, Article 6 (Decompilation). Authorization is not required where reproduction or translation of the code is indispensable to obtain the information necessary to achieve interoperability of an independently created program. Three conditions apply: the act must be performed by a licensee or an authorized person; the information must not have been previously readily available; and it must be confined to the parts necessary. Article 6(2) further bars using the information obtained for other goals, giving it to others except as needed for interoperability, or using it to develop a substantially similar program.
Source: Directive 2009/24/EC Article 6 (checked 2026-07-20)
US: DMCA, 17 U.S.C. §1201(f). A person who has lawfully obtained the right to use a copy of a computer program may circumvent an access control measure "for the sole purpose of identifying and analyzing those elements necessary to achieve interoperability of an independently created computer program," limited to elements not previously readily available (§1201(f)(1)). §1201(f)(2) permits developing and using the technological means to do so, and §1201(f)(3) permits sharing the resulting information or means with others solely for the purpose of enabling interoperability. That last provision is the one that matters for shipping an open source RAW decoder.
Source: 17 U.S. Code §1201 (checked 2026-07-20)
6. A practical checklist
When you design a product or service that handles RAW, check at least the following.
- Ask whether you need RAW decoding at all. If the goal is display or culling, extracting the embedded JPEG may be enough (see below).
- If you use LibRaw, document which of LGPL 2.1 and CDDL 1.0 you chose, and design for the obligations of that choice: attribution, publishing changes, and the linking model.
- Check your build configuration for demosaic packs. They bring GPL conditions with them.
- For WASM packages, do not take the declared license at face value; audit what is actually bundled.
- If you handle DNG, put the attribution notice in your product's source and documentation. Logo use needs a separate agreement with Adobe.
- For vendor SDKs, the agreement presented at download is the real document. Have legal review the redistribution, commercial use, and confidentiality clauses before you apply.
- Some terms, as with Fujifilm, affect the product warranty. Do not skim the notices on the SDK page.
7. What we could not verify
While writing this article, we could not confirm the following against primary sources. We have made no definitive claims about them.
- The text of Canon's EDSDK agreement and NDA: the distribution pages are dynamic, and the host for the agreement PDFs was unreachable. The filenames suggest a distribution agreement accompanied by an NDA, but we did not read the clauses. This article makes no judgment about redistribution or commercial use of the EDSDK.
- The text of Nikon's current SDK agreement: it is presented only during download. We did find a Nikon license agreement mirrored on a third-party site, but since there is no guarantee it matches the current SDK agreement, we have not quoted its clauses.
- An official OM SYSTEM / Olympus camera SDK: we could not confirm a current one. That is not the same as asserting none exists.
- Some Adobe pages: the
helpx.adobe.comDNG distribution page itself was reachable, but some pages and PDFs timed out repeatedly from our research environment, so those clauses were cross-checked against public mirrors. The DNG statements here rest on the patent license text and the SDK EULA text (and mirrors of them). - Who performed the 2005 NEF analysis: we could not confirm individual involvement from a primary source, so we name no one.
- Whether Canon's EDSDK V13.20.11 includes the RAW library: as noted in 4-2, the page carries only the "with RAW Library" label and never states that a build excludes it. We leave this as an inference.
- The day-level publication date of ISO 12234-4: iso.org shows only "Edition 1" and "2026-03", so this article says March 2026.
Note: ExifTool's and exiv2's license statements were previously listed here as unverified, but both could in fact be confirmed from primary sources. The reality is not "cannot be determined" but "the project contradicts itself", so that discussion has moved to 2-5.
8. The choice we made on this site
Given all of the above, this site does not decode RAW in the browser. Instead, we publish a tool that extracts the JPEG preview embedded in the RAW file. Most cameras generate a JPEG at capture time and store it inside the RAW file, and pulling it out only requires reading JPEG marker structure, with no RAW decoder involved.
What it can do is limited. This is not RAW conversion, so you do not get the real benefit of RAW, such as recovering exposure or white balance after the fact. In exchange, none of the licensing relationships discussed in this article are pulled into our site. We offer it as one worked example of deciding what you actually need and then choosing a design with no dependency.
Free Tool Try the RAW Preview Extractor Pull the embedded JPEG preview out of CR2, CR3, NEF, ARW, DNG, RW2, ORF, RAF and similar files. Everything runs in your browser and no file is sent to a server.Frequently asked questions (FAQ)
Can I use LibRaw in a commercial application?
LibRaw is distributed so that you choose either LGPL 2.1 or CDDL 1.0, and commercial use itself is not prohibited. You do, however, have to meet the obligations of whichever license you pick. The separate commercial license that once existed was dropped in the 0.18 release, so today those two are the only options. Always consult a lawyer for an actual decision.
Can I embed dcraw code in my own product?
dcraw has no formal open source license. The author states that no license is required to download and use dcraw.c, but for redistribution he asks you to satisfy one of four conditions, because of the RESTRICTED functions that process Foveon images. You must either offer full source code, distribute under GPL v2 or later, remove or re-implement the RESTRICTED functions, or purchase a license from the author.
Is DNG free to read and write?
Adobe grants compliant implementations a royalty-free, worldwide patent license limited to reading and writing DNG files. It requires an attribution notice, and it carries a defensive termination clause that can revoke your rights if you bring a patent action against Adobe. Using the DNG name or logo to promote a product is a separate trademark matter that needs a written agreement with Adobe, so keep it distinct from the patent license.
Can I use an official camera vendor SDK for RAW conversion?
It varies a lot by vendor. Nikon states on its own site that it offers an Image SDK that opens NEF and NRW files. Canon lists an EDSDK build labelled "with RAW Library" as a separate entry, but the page never says "without RAW Library", so the difference from the unlabelled build remains an inference. By contrast, Sony's Camera Remote SDK is aimed at remote control and image retrieval with no RAW decoding described, and Fujifilm explicitly states that information on converting the RAW data in its RAF files is not provided with its SDK. All of them require an application and acceptance of an agreement.