# Design rule for Camera File system

Design rule for Camera File system (DCF) is a JEITA specification (number CP-3461) which defines a file system for digital cameras, including the directory structure, file naming method, character set, file format, and metadata format. It is currently the de facto industry standard for digital still cameras. The file format of DCF conforms to the Exif specification, but the DCF specification also allows use of any other file formats. As of 2021, the latest version of the standard was 2.0, issued in 2010.

## File system

In order to guarantee interoperability, DCF specifies the file system for image and sound files to be used on formatted DCF media (like removable or non-removable memory) as FAT12, FAT16, FAT32, or exFAT. Media with a capacity of more than 2 GB must be formatted using FAT32 or exFAT.
The DCF standard defines that the "Read Only" file and directory attribute of FAT file systems can be used to protect files or directories from accidental deletion. Other existing attributes don't have any specially defined usage in DCF.

## Directory and file structure

The filesystem in a digital camera contains a DCIM (digital camera images) directory, which can contain multiple subdirectories with names such as "123ABCDE" that consist of a unique directory number (in the range 100…999) and five alphanumeric characters (or any valid filename characters), which may be freely chosen and often refer to a camera maker. These directories contain files with names such as "ABCD1234.JPG" that consist of four alphanumeric characters (often "100_", "DSC0", "DSCF", "IMG_", "MOV_", or "P000"), followed by a number in the range 0001...9999.
DCF 2.0 adds support for DCF optional files recorded in an optional color space (that is, Adobe RGB rather than sRGB). Such files must be indicated by a leading "_" (e.g. "_DSC" instead of "DSC_" or "DSC0").
The file extension of these files is for example "JPG" for Exif JPEG files and "THM" for Exif files that represent thumbnails of other files than JPEG. Other file formats use different extensions. Multiple files sharing a number (even if the file extension or the four alphanumeric characters are different) are considered related and form a DCF object. Prior to the introduction of DCF 2.0, some camera vendors (e.g. Minolta and Konica Minolta) chose to use the file extension to indicate the recorded color space, that is, "JPG" was used for sRGB, whereas "JPE" was used for Adobe RGB.
As an example of the DCF structure, the files on a Nikon D40 are arranged according to the above specification. Specifically, a card formatted by the camera will have a volume named "NIKOND40", with a subdirectory named "DCIM". This directory contains a subdirectory named by default "100NCD40", in which images are stored. Images in this folder are named "DSC_xxxx", where xxxx represents the file's sequential number.
As this is an industry standard, similar directory structures and naming procedures can be found in most digital cameras. The standard leaves room for varying types of file and directory organisations. Some manufacturers choose filenames that include the subdirectory number as part of the alphanumeric part of the filename. For example, for some of their camera models, Panasonic's DCF file numbering has filenames starting with "P" (for "Panasonic"), followed by the number of the DCF subdirectory it is in, followed by the actual image number, only ranging until 999, i.e. possible filenames are P1000001, P1000002, ... , P9990999 (with the "0" remaining constant between files, serving no identifying purpose). Similarly, a GoPro Hero 8 camera's numbering is e.g. GH0100001, GH0100002, ... , GH9990999 (note however that the latter consists of nine characters instead of eight, so GoPro deviates from the DCF standard). On the other hand, other manufacturers, such as Canon, Nikon and Sony, do usually not use numbering in the alphanumeric part of the filename. Instead, Sony and Nikon tend to use "DSC_" for many camera models, while Canon opts to use "IMG_" for image based files, "MVI_" for video based files and "CSI_" for pictures taken in burst mode, thereby using the filename to indicate the type or the mode of photography used.
A general example of a DCF directory and file structure can be given as follows:
* Root
** DCIM (a directory)
*** 100ABCDE (a DCF directory)
**** ABCD0001.JPG (a DCF basic file or DCF optional file)
**** ABCD0002.JPG
**** ABCD0003.TIF (a DCF extended image file)
**** ABCD0003.THM (a DCF thumbnail file for extended image file; it is not allowed for ".JPG" files)
**** ABCD0004.WAV (a DCF object need not include an image file)
**** ABCD0005.JPG
**** ABCD0005.WAV (a DCF object formed by naming non-image file with the same file number as an image file)
**** ABCD0006.JPG
**** ABCD0006.RAW (a raw image file which contains the raw image data of the DCF object)
**** ABCD9999.JPG
**** README.TXT (other filenames and extensions may be assigned freely)
**** ETC (directories other than DCF directories are also allowed; they shall not have the same name as DCF file)
*** 999ABCDE (a DCF directory)
**** ABCD0001.JPG (a DCF basic file or DCF optional file)
**** ... etc.

## DCF objects

DCF object is a standalone file with DCF filename (e.g. ABCD0001.JPG) or a file group that shares the same file number. DCF objects are used for the files related with each other, such as the image file and the related audio file. Related files are handled together for the convenience of users. A DCF object need not include an image file. A standalone file for which no other file with the same file number exists is still a DCF object. Files in directories that are not located under a DCF directory are not DCF object components.
DCF specification defines files included in DCF objects:
* DCF basic file – an image file with filename extension ".JPG" conforming to the Exif specification; uses sRGB color space
* DCF optional file – an image file with filename extension ".JPG" conforming to the Exif specification, used when an image is to undergo extensive processing notably in professional uses; uses DCF optional color space
* DCF extended image file – a file with a filename (and data structure) other than "JPG" or "THM".
* DCF thumbnail file – a thumbnail image file with filename extension ".THM", used for extended image file; uses sRGB color space and JPEG compression
Files not specified in DCF specification (with other extensions and data structures, e.g. "TXT", "WAV", "TIF" etc.) may also be included in a DCF object.
The rules for DCF object structure and elements prohibit the use of DCF thumbnail files for files with ".JPG" extension. They also prohibit the extension "JPG" for other than DCF basic files and DCF optional files.
One DCF directory may contain up to 9999 DCF objects, numbered from "0001" to "9999" (except for some manufacturers like Panasonic which number from "0001" to "0999"). This number is also known as a "file number". Consequently, if the prefix used is "DSC0", it may cause users who are not aware of the DCF standard to wonder why the picture counter wraps around after 9999, while there is seemingly still a significant number left. For example, the next file after DSC09999.JPG will create a new folder containing DSC00001.JPG, rather than continuing in the same folder to DSC10000.JPG.

## DCF media

DCF media is defined as removable memory recorded in compliance with the DCF specification or, removable and non-removable memory that a file system can access from an external device through IF (regardless of wired or wireless).

## Access

Camera file systems can usually be accessed by directly mounting them via the USB mass storage device class protocol, which exposes the file layout, whether DCF compliant or otherwise. Alternatively, and independent of DCF, files may be accessed via the Picture Transfer Protocol, which provides an object-oriented view and need not expose the file layout.
The file system layout is often opaque to users, as images are copied onto a computer or printer and the application deals with layout.