Original browser research

Camera RAW Shutter Count Compatibility Research

We tested 1,870 CC0 camera RAW files with the same browser-based metadata engine used by ShutterActuations. This report separates files that parse, files that expose candidate counters, formats accepted by production, and counter meanings verified with independent evidence.

Parsed does not mean shutter count detected. Detected does not mean independently verified. The corpus contains 527 files with strongly named counter fields, but zero values currently qualify as VERIFIED_ABSOLUTE.

Research summary

1,870CC0 RAW files tested
58.45 GBof test files
931unique camera models
85manufacturers

The metadata engine parsed 1,832 of 1,870 files, approximately 98%. A strongly named candidate counter appeared in 527 files. No corpus value currently has the independent authoritative baseline required for absolute verification.

FormatFilesParser successStrong counter detectionProduction status
NEF273100%96.7%Accepted
ARW197100%72.1%Blocked
PEF40100%97.5%Blocked
CR3110100%32.7%Blocked
CR213498.5%1.5%Blocked
RAF143100%0%Blocked
ORF85100%0%Blocked
RW2363100%0%Blocked

“Blocked” means the production file picker intentionally rejects the extension while validation continues. A 0% strong-counter result does not mean the parser failed or that every camera using the format lacks counters.

Methodology and evidence levels

PARSED
The metadata engine successfully read the file or container.
DETECTED
A strongly named candidate counter was extracted. Its physical meaning may still be uncertain.
VERIFIED_BEHAVIOR
Controlled before-and-after testing established how the field changes for a particular model, firmware, and shutter mode.
VERIFIED_ABSOLUTE
An independent authoritative baseline established that the value corresponds to the specifically claimed count.

This corpus contains many DETECTED results and zero VERIFIED_ABSOLUTE results. Similar field names or plausible values are not enough to skip controlled, model-specific validation.

Nikon NEF

All 273 Nikon NEFs parsed, and 264 exposed a strongly named counter across 74 Nikon model labels. NEF is the only proprietary camera RAW format in this report currently accepted by production.

Nikon files may expose ShutterCount, MechanicalShutterCount, or both. Those fields are not silently treated as interchangeable: electronic, electronic-front-curtain, and mechanical modes may affect them differently. The dedicated Nikon NEF shutter-count guide explains how to check a file and interpret a detected result without claiming universal Nikon compatibility.

Sony ARW

All 197 Sony ARWs parsed, and 142 exposed strong counter evidence. Production still rejects ARW while model-specific ground truth is collected.

Sony metadata may contain ShutterCount, ShutterCount2, and ShutterCount3, but they are not universally equivalent. One ILCE-1 sample reported ShutterCount = 1173 while ShutterCount2 = 0. That divergence is a concrete reason not to apply one generic interpretation across Sony bodies.

Pentax PEF

All 40 PEF files parsed, and 39 exposed Pentax:ShutterCount. Despite that high detection rate, production intentionally rejects PEF until controlled validation establishes behavior across representative bodies and modes.

Service may reset the reported value, and live-view, electronic, or video use may behave differently from ordinary viewfinder shutter operation. A plausible number therefore remains detected metadata rather than a verified physical lifetime total.

Canon CR2 and CR3

CR2

The engine parsed 132 of 134 CR2 files, but only two produced strong counter evidence. This does not justify a general Canon CR2 shutter-count support claim. See the Canon EOS methods and limitations guide for alternatives and model-specific context.

CR3

All 110 CR3 files parsed, and 36 produced strong counter evidence. Focused research found all 36 among Canon EOS R5, R6, R6 Mark II/R6m2, R8, R50, and PowerShot G5 X Mark II files.

The extracted candidate is Track4:ShutterCount. Track4 identifies where ExifTool decoded the metadata within the CR3 container; it does not by itself establish what physical events the value counts. The field has not been added to the production allowlist, CR3 remains blocked, and the result is not labeled a mechanical shutter count.

Fujifilm RAF, Olympus ORF, and Panasonic RW2

RAF, ORF, and RW2 parsed successfully across the tested corpus, but the research did not establish a strongly named shutter-counter field suitable for current production display. This is different from parser incompatibility.

Some Fujifilm files expose ImageCount-like values. An image counter can follow file creation, processing, or camera-specific rules and must not automatically be presented as mechanical shutter actuations. The evidence does not support saying that Fujifilm cameras never store a shutter count.

Large-file browser performance

All 244 tested files at least 50 MB parsed, as did all 74 tested files at least 100 MB. The largest successfully tested file was approximately 401.9 MB. This desktop Edge run did not reveal a broad RAW-size parser ceiling.

These results do not mean production accepts every tested format, and they do not establish reliability on low-memory phones or mobile browsers. Peak-memory behavior and representative mobile testing remain open work.

Privacy and network boundaries

For formats accepted by the checker, selected-photo analysis happens locally in the browser. The selected photo, filename, and extracted camera or shutter metadata are not uploaded to the ShutterActuations application server for analysis. The browser may fetch same-origin application code, a Worker, and the WebAssembly runtime required for deeper MakerNote inspection.

Cloudflare Web Analytics is currently used separately for aggregate website usage and performance measurement. Its page-analytics traffic is not image-processing traffic and does not receive the selected photo or extracted camera metadata from the checker.

What happens next

Future format enablement requires more than a high parser percentage. Each format needs model-specific counter semantics, controlled mechanical and electronic shutter tests, negative controls, mobile performance work, production validation, and accurate user-facing labels. Until those gates pass, ARW, PEF, CR2, CR3, RAF, ORF, and RW2 remain intentionally unavailable.