---
title: 'DNG Validate'
url: 'https://doc.brix.ch/celum_extensions/dng_validate'
markdown: 'https://doc.brix.ch/celum_extensions/dng_validate.md'
lang: en
date: '2026-10-26'
description: 'Technical documentation for the CELUM Extension "DNG Validate" – Software developed by brix'
taxonomy:
  category:
    - docs
---

[](#) 

  [ Welcome ](https://doc.brix.ch/)     [ CELUM Extensions ](https://doc.brix.ch/celum_extensions)      DNG Validate    

# DNG Validate

![No UI](https://img.shields.io/static/v1?label=UI&message=none&color=inactive)

DNG validate is a helper plugin that validates DNG files using Adobe's unofficial `dng_validate`, and writes the result to an information field.

The plugin provides both a system task for initializing existing DNGs, as well as listeners for new DNGs (and new version). Note that to validate these DNGs, the asset is downloaded to the appserver and evaluated locally.

The information field can then be used in other plugins, e.g. the [AssetMarker](https://doc.brix.ch/celum_extensions/asset_marker) to flag invalid assets.

## Properties

#### dngValidate.license

> Type: String, required: yes, default: -

License string provided by brix (name: dngValidate)

#### dngValidate.dngValidateExecutable

> Type: String, required: **yes**, default: -

Full path to the executable. For license reasons you need to [download and compile it yourself](https://helpx.adobe.com/camera-raw/digital-negative.html).

Linux: [github.com/abworrall/go-dng](https://socket.dev/go/package/github.com/abworrall/go-dng?section=overview) and edit the Makefile to point the zlib download URL to https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz (or later)

#### dngValidate.dngValidityDropdownInfofieldId

> Type: long, required: no, default: -

Dropdown to set the validity in. **MUST** look like this:

```xml
        <dropdown id="152" name="dng_validate">
            <labels>
                <label lang="de">DNG Validation</label>
                <label lang="en">DNG Validation</label>
            </labels>
            <options>
                <option index="1">
                    <labels>
                        <label lang="de">k.A.</label>
                        <label lang="en">n/a</label>
                    </labels>
                </option>
                <option index="2">
                    <labels>
                        <label lang="de">gültig</label>
                        <label lang="en">valid</label>
                    </labels>
                </option>
                <option index="3">
                    <labels>
                        <label lang="de">ungültig</label>
                        <label lang="en">invalid</label>
                    </labels>
                </option>
            </options>
            <default>1</default>
        </dropdown>
```

#### dngValidate.dngValidityCheckboxInfofieldId

> Type: long, required: no, default: -

Checkbox to set to true if the DNG is valid. This is an alternative to the dropdown.

#### dngValidate.dngOutputTextInfofieldId

> Type: long, required: no, default: -

Textarea field to write the validation log to. Probably not necessary (just enable DEBUG logging), but if you want to show the user what exactly is broken, use this.

## Compatibility Matrix

| DNG Validate | CELUM (min. version) |
|---|---|
| 1.0.0 | 5.13.3 |
| 1.1.0 | 6.16 |
| 1.2.0 | 7.1 |

## Release Notes

#### 1.0.0

> Release: 2022-04-20

Initial Version

#### 1.1.0

> Release: 2025-01-30

- support new dng\_validate behavior where the exit code is 0, despite validation errors
- bump to 6.16 as the min. CELUM version

#### 1.0.0

> Release: 2026-09-02

Compatibility with CELUM 7.1

 [ ](https://doc.brix.ch/celum_extensions/anura_easy_share) [](https://doc.brix.ch/celum_extensions/asset_metadata_copy)

---

## Navigation

- Parent: [CELUM Extensions](https://doc.brix.ch/celum_extensions.md)
- Previous: [Anura EasyShare](https://doc.brix.ch/celum_extensions/anura_easy_share.md)
- Next: [Asset Metadata Copy](https://doc.brix.ch/celum_extensions/asset_metadata_copy.md)
