dnglab-online vs Adobe DNG Converter vs dnglab CLI
If you need to convert a Canon CR3, Nikon NEF, Sony ARW, Fujifilm RAF or similar camera RAW into Adobe DNG, you have three credible options today: the closed-source Adobe DNG Converter, the open-source dnglab CLI, and this in-browser dnglab-online build. They share a goal but make very different trade-offs. This page is the short answer to "which one should I use?".
TL;DR — which one should I use?
- One file, no install, any OS, any device: use dnglab-online.
- Hundreds or thousands of files, batch / scripted: use the dnglab CLI.
- Already in the Adobe ecosystem on Windows or macOS, and your camera is supported: use Adobe DNG Converter.
Feature matrix
| Feature | dnglab-online | Adobe DNG Converter | dnglab CLI |
|---|---|---|---|
| Price | Free | Free | Free |
| Open source | Yes (LGPL-2.1) | No | Yes (LGPL-2.1) |
| Install required | No | Yes | Yes |
| Runs on Linux / BSD | Yes | No | Yes |
| Runs on ChromeOS / iPad | Yes | No | No |
| Runs on Windows / macOS | Yes | Yes | Yes |
| Runs without internet (after first load) | Yes | Yes | Yes |
| Files uploaded to a server | No (impossible) | No | No |
| Batch / recursive folders | No (one file at a time) | Yes | Yes |
| Multi-threaded | No (single-threaded WASM) | Yes | Yes (rayon) |
| Speed (relative) | 1× | ~2–3× | ~4–10× |
| Output format | Adobe DNG 1.4 | Adobe DNG 1.6 | Adobe DNG 1.4 |
| LJPEG-92 lossless compression | Yes (default) | Yes | Yes |
| Uncompressed DNG option | Yes | Yes | Yes |
| Embed preview / thumbnail | Yes | Yes | Yes |
| Adds DNG opcodes (lens / vignette) | No | Yes | No |
| Adds new Adobe colour profiles | No | Yes (DCP) | No |
| New cameras supported | Tracks upstream rawler (community-driven) | Adobe ships periodic updates; lag of 4–12 weeks | Tracks upstream rawler |
| CR3 (Canon mirrorless) support | Yes | Yes | Yes |
| HEIF / HIF (Sony α1, α7S III) | No (not RAW) | No (not RAW) | No (not RAW) |
| Mobile-friendly | Limited (memory caps) | No | No |
| Source / docs | GitHub | Adobe Help | GitHub |
dnglab-online — the in-browser option
dnglab-online compiles the same Rust rawler crate that powers
the dnglab CLI into WebAssembly and ships it as a static page. Drop a CR3 /
NEF / ARW into the dropzone, wait 1–25 seconds, get a DNG download. There is
nothing to install, no account, no upload, and no per-conversion fee.
Best when:
- You're on Linux, ChromeOS, or any platform where Adobe DNG Converter doesn't run.
- You have a single file to convert and don't want to install a Rust toolchain or a Debian package.
- You care about privacy: the file physically cannot be uploaded because no backend is running.
- Your camera is brand-new and Adobe's converter doesn't yet support it, but the dnglab community has added it to the upstream calibration database.
Limitations:
- v1 processes one file at a time — no batch / folder support.
- WASM is single-threaded, so it is roughly 4–10× slower than the native dnglab CLI on the same machine.
- Mobile browsers may run out of memory on large lossless ARWs (60 MB+).
- It does not add Adobe-only goodies like DCP colour profiles or lens-correction opcodes — the DNG is a faithful conversion of the original RAW, not an Adobe-flavoured one.
Adobe DNG Converter — the canonical reference
Adobe's free desktop tool, ships for Windows and macOS only. It is the reference implementation of the DNG spec, supports DNG 1.6, and bundles Adobe's own colour profiles (DCPs) and lens-correction opcodes.
Best when:
- You're on Windows or macOS and your camera is supported.
- You want Adobe DCP profiles or opcode-driven lens corrections embedded in the DNG.
- You need the most recent DNG spec (1.6) features (e.g. semantic mask support).
Limitations:
- Closed source. You depend on Adobe's release schedule for new camera support — typical lag is 4–12 weeks after a body launches.
- No Linux build, no browser version, no CLI batch mode that scripts well.
- The installer is large (≈600 MB) for what most people use it for.
dnglab CLI — the power-user option
The command-line dnglab binary is the upstream project. It uses the same
rawler decoder as dnglab-online but compiles to a native
multi-threaded executable. Subcommands include convert,
analyze, extract, and makedng.
Best when:
- You're processing dozens to thousands of RAWs.
- You want to script the conversion as part of an import pipeline.
- You need analyze / extract subcommands for debugging an unsupported camera.
- You want the fastest open-source RAW → DNG path on a given machine.
Limitations:
- Requires installing a binary (Debian package, AUR, Homebrew tap, or
cargo install). - No GUI; not a great fit if you only have one or two files.
- Doesn't add Adobe DCP profiles or lens opcodes.
Are the output DNGs identical?
Functionally, yes — all three produce files that Lightroom Classic, Lightroom CC, Camera Raw, Capture One, darktable, and RawTherapee can open. The pixels match the original RAW after demosaicing.
The differences are in what's wrapped around the pixels:
- dnglab (CLI and online) writes a DNG 1.4 with the original RAW's EXIF, white-balance neutral, and camera calibration matrix from the upstream rawler database. It does not inject Adobe DCP profiles or opcode-driven lens corrections.
- Adobe DNG Converter writes a DNG 1.6 with Adobe's own DCP colour profile and (optionally) opcode-driven lens corrections, vignette compensation, and camera-profile metadata that Lightroom prefers.
If you intend to develop the file in Lightroom anyway, both routes look visually similar after applying the camera profile. If you intend to develop in darktable / RawTherapee / Capture One, the dnglab outputs are slightly preferable because they don't carry Adobe-only opcodes that the other editors ignore.
Comparison FAQ
Is dnglab-online slower than the desktop tools? By how much?
Yes — about 4–10× slower than the native dnglab CLI on the same machine, and roughly 2–4× slower than Adobe DNG Converter, because WebAssembly is single-threaded and modern browsers can't dispatch SIMD intrinsics as efficiently as native code. For one file, this means 5–15 s instead of 1–3 s on a typical 30 MB CR3, which is usually fine. For a batch of 500 files, the desktop options are a much better fit.
Is dnglab-online really 100% offline after first load?
Yes. The first visit downloads ~6–10 MB of .wasm and a few
hundred KB of HTML/CSS/JS. After that, the browser caches everything and
conversions run with no network. You can verify by opening DevTools'
Network tab during a conversion — there are no requests.
Can I trust an open-source converter with archival files?
The dnglab project's pixel-decoding logic is widely tested against Lightroom and Adobe DNG Converter outputs. Bug reports almost always involve specific new sensor modes (e.g. Canon's pre-shoot, in-camera HDR), not fundamental colour or detail issues. For peace of mind, keep the original RAW alongside the new DNG until you've validated colour and detail in your editor.
Will the dnglab tools support my camera if it's brand-new?
Usually within weeks of release. The upstream rawler maintainers and the Darktable / RawTherapee communities share calibration data; once a sample RAW is filed at dnglab/dnglab, support typically lands in the next minor release. Adobe's update cadence is slower (4–12 weeks).
Why isn't there a dnglab-online batch mode?
v1 keeps the UI minimal and constrains memory: a 100 MB CR3 already uses ~700 MB transiently in the browser. Letting users queue 50 files at once would crash most browsers. The roadmap is to add a small queue (3–5 files sequential, not parallel) once browser memory APIs stabilise. For real batch work today, the dnglab CLI is the right tool.
Related
Background: About dnglab-online. Camera coverage: Supported cameras. Format-specific guides: Canon CR3 → DNG, Sony ARW → DNG.