Universal Disk Format
Universal Disk Format (UDF) is an open, vendor-neutral file system for computer data storage for a broad range of media. In practice, it has been most widely used for DVDs and newer optical disc formats, supplanting ISO 9660. Due to its design, it is very well suited to incremental updates on both write-once and re-writable optical media. UDF was developed and maintained by the Optical Storage Technology Association (OSTA).
In engineering terms, Universal Disk Format is a profile of the specifications known as ISO/IEC 13346 and ECMA-167.
Usage
Normally, authoring software will master a UDF file system in a batch process and write it to optical media in a single pass. But when packet writing to rewritable media, such as CD-RW, UDF allows files to be created, deleted and changed on-disc just as a general-purpose filesystem would on removable media like floppy disks and flash drives. This is also possible on write-once media, such as CD-R, but in that case the space occupied by the deleted files cannot be reclaimed (and instead becomes inaccessible).
Multi-session mastering is also possible in UDF, though some implementations may be unable to read disks with multiple sessions.
History
Optical discs |
---|
![]() |
The Optical Storage Technology Association standardized the UDF file system to form a common file system for all optical media: both for read-only media and for re-writable optical media. When first standardized, the UDF file system aimed to replace ISO 9660, allowing support for both read-only and writable media. After the release of the first version of UDF, the DVD Consortium adopted it as the official file system for DVD-Video and DVD-Audio.
UDF shares the basic volume descriptor format with ISO 9660. A "UDF Bridge" format is defined since 1.50 so that a disc can also contain a ISO 9660 file system making references to files on the UDF part.
Revisions
Multiple revisions of UDF have been released:
- Revision 1.00 (24 October 1995). Original Release.
- Revision 1.01 (3 November 1995). Added DVD Appendix and made a few minor changes.
- Revision 1.02 (30 August 1996). This format is used by DVD-Video discs.
- Revision 1.50 (4 February 1997). Added support for CD-R/W Packet Writing and (virtual) rewritability on CD-R/DVD-R media by introducing the Virtual Allocation Table (VAT) structure. Added sparing tables for defect management on rewritable media such as CD-RW, and DVD-RW and DVD+RW. Add UDF bridge.
- Revision 2.00 (3 April 1998). Added support for Stream Files, Access Control lists, Power Calibration, real-time files (for DVD recording) and simplified directory management. VAT support was extended.
- Revision 2.01 (15 March 2000) is mainly a bugfix release to UDF 2.00. Many of the UDF standard's ambiguities were resolved in version 2.01.
- Revision 2.50 (30 April 2003). Added the Metadata Partition facilitating metadata clustering, easier crash recovery and optional duplication of file system information: All metadata like nodes and directory contents are written on a separate partition which can optionally be mirrored. This format is used by some versions of Blu-rays and most HD-DVD discs.
- Revision 2.60 (1 March 2005). Added Pseudo OverWrite method for drives supporting pseudo overwrite capability on sequentially recordable media. Has read-only compatibility with UDF 2.50 implementations. (Some Blu-rays use this format.)
UDF Revisions are internally encoded as binary-coded decimals; Revision 2.60, for example, is represented as0x0260. In addition to declaring its own revision, compatibility for each volume is defined by the minimum read and minimum write revisions, each signalling the requirements for these operations to be possible for every structure on this image. A "maximum write" revision additionally records the highest UDF support level of all the implementations that has written to this image. For example, a UDF 2.01 volume that does not use Stream Files (introduced in UDF 2.00) but uses VAT (UDF 1.50) created by a UDF 2.60-capable implementation may have the revision declared as0x0201, the minimum read revision set to0x0150, the minimum write to0x0150, and the maximum write to0x0260.
Uses
While UDF was primarily developed for optical discs, it is also able to operate on other media such as hard disk drives and flash storage.
UDF was for well over a decade the only open-specification and cross-platform-supported file system without a file size limitation of 4 GiB (roughly 4.3 GB), until the open-sourcing of exFAT in 2019. "Cross-platform" here means supported by all three majorly used operating systems, Windows and Mac OS and Linux.
On Windows, formatting flash storage devices as UDF can not be accomplished through the graphical formatting widget, only through the command prompt.
Specifications
The UDF standard defines three file system variations, called "builds". These are:
- Plain (Random Read/Write Access). This is the original format supported in all UDF revisions
- Virtual Allocation Table, also known as VAT (Incremental Writing). Used specifically for writing to write-once media
- Spared (Limited Random Write Access). Used specifically for writing to rewritable media
Plain build
Introduced in the first version of the standard, this format can be used on any type of disk that allows random read/write access, such as hard disks, DVD+RW and DVD-RAM media. Metadata (up to v2.50) and file data is addressed more or less directly. In writing to such a disk in this format, any physical block on the disk may be chosen for allocation of new or updated files.
Since this is the basic format, practically any operating system or file system driver claiming support for UDF should be able to read this format.
VAT build
Write-once media such as DVD-R and CD-R have limitations when being written to, in that each physical block can only be written to once, and the writing must happen incrementally. Thus the plain build of UDF can only be written to CD-Rs by pre-mastering the data and then writing all data in one piece to the media, similar to the way an ISO 9660 file system gets written to CD media.
To enable a CD-R to be used virtually like a hard disk, whereby the user can add and modify files on a CD-R at will (so-called "drive letter access" on Windows), OSTA added the VAT build to the UDF standard in its revision 1.5. The VAT is an additional structure on the disc that allows packet writing; that is, remapping physical blocks when files or other data on the disc are modified or deleted. For write-once media, the entire disc is virtualized, making the write-once nature transparent for the user; the disc can be treated the same way one would treat a rewritable disc.
The write-once nature of CD-R or DVD-R media means that when a file is deleted on the disc, the file's data still remains on the disc. It does not appear in the directory any more, but it still occupies the original space where it was stored. Eventually, after using this scheme for some time, the disc will be full, as free space cannot be recovered by deleting files. Special tools can be used to access the previous state of the disc (the state before the delete occurred), making recovery possible.
Not all drives fully implement version 1.5 or higher of the UDF, and some may therefore be unable to handle VAT builds.
Spared (RW) build
Rewriteable media such as DVD-RW and CD-RW have fewer limitations than DVD-R and CD-R media. Sectors can be rewritten at random (though in packets at a time). These media can be erased entirely at any time, making the disc blank again, ready for writing a new UDF or other file system (e.g., ISO 9660 or CD Audio) to it. However, sectors of -RW media may "wear out" after a while, meaning that their data becomes unreliable, through having been rewritten too often (typically after a few hundred rewrites, with CD-RW).
The plain and VAT builds of the UDF format can be used on rewriteable media, with some limitations. If the plain build is used on a -RW media, file-system level modification of the data must not be allowed, as this would quickly wear out often-used sectors on the disc (such as those for directory and block allocation data), which would then go unnoticed and lead to data loss. To allow modification of files on the disc, rewriteable discs can be used like -R media using the VAT build. This ensures that all blocks get written only once (successively), ensuring that there are no blocks that get rewritten more often than others. This way, a RW disc can be erased and reused many times before it should become unreliable. However, it will eventually become unreliable with no easy way of detecting it. When using the VAT build, CD-RW/DVD-RW media effectively appears as CD-R or DVD+/−R media to the computer. However, the media may be erased again at any time.
The spared build was added in revision 1.5 to address the particularities of rewriteable media. This build adds an extra Sparing Table in order to manage the defects that will eventually occur on parts of the disc that have been rewritten too many times. This table keeps track of worn-out sectors and remaps them to working ones. UDF defect management does not apply to systems that already implement another form of defect management, such as Mount Rainier (MRW) for optical discs, or a disk controller for a hard drive.
The tools and drives that do not fully support revision 1.5 of UDF will ignore the sparing table, which would lead them to read the outdated worn-out sectors, leading to retrieval of corrupted data.
An overhead that is spread over the entire disc reserves a portion of the data storage space, limiting the usable capacity of a CD-RW with e.g. 650 MB of original capacity to around 500 MB.
Character set
The UDF specifications allow only one Character Set OSTA CS0, which can store any Unicode Code point excluding U+FEFF and U+FFFE. Additional character sets defined in ECMA-167 are not used.
Since Errata DCN-5157, the range of code points was expanded to all code points from Unicode 4.0 (or any newer or older version), which includes Plane 1–16 characters such as Emoji. DCN-5157 also recommends normalizing the strings to Normalization Form C.
The OSTA CS0 character set stores a 16-bit Unicode string "compressed" into 8-bit or 16-bit units, preceded by a single-byte "compID" tag to indicate the compression type. The 8-bit storage is functionally equivalent to ISO-8859-1, and the 16-bit storage is UTF-16 in big endian. 8-bit-per-character file names save space because they only require half the space per character, so they should be used if the file name contains no special characters that can not be represented with 8 bits only.
The reference algorithm neither checks for forbidden code points nor interprets surrogate pairs, so like NTFS the string may be malformed. (No specific form of storage is specified by DCN-5157, but UTF-16BE is the only well-known method for storing all of Unicode while being mostly backward compatible with UCS-2.)
Tools
Various tools have been developed to work with UDF file systems. For Linux, the udftools
package contains several tools that can be used directly as a command-line interface, but can also be called by other applications.
The mkudffs
tool creates a new UDF file system on a partition or a disk image file. The tool is symbolically linked from mkfs.udf
for consistency with other mkfs
tools.
udfinfo
shows details of an UDF file system such as the volume label, version, counts of files and directories, and the status of the write protection flags. The volume label can be changed using the udflabel
tool.
The write protection flag can "seal" a file system once its authoring is finished and no more changes to it are intended. For toggling the write protection setting which makes a file system read-only when activated, a tool called udftune
was under development, but has not yet been included in the udftools
package as of April 2025, following that its maintainer Pali Rohár has reportedly lost access to his GitHub account.
wrudf
allows the user to modify an UDF file system interactively. For example, files can be copied and removed, and directories can be created and removed.
pktsetup
implements packet writing through device files named /dev/pktcdvd0
and counting up. These device files are separate from the usual device files of optical drives named /dev/sr0
(where "sr" means "SCSI ROM") and counting up.
Compatibility
Many DVD players do not support any UDF revision other than version 1.02. Discs created with a newer revision may still work in these players if the ISO 9660 bridge format is used. Even if an operating system claims to be able to read UDF 1.50, it still may only support the plain build and not necessarily either the VAT or Spared UDF builds.
Mac OS X 10.4.5 claims to support Revision 1.50 (see man mount_udf), yet it can only mount disks of the plain build properly and provides no virtualization support at all. It cannot mount UDF disks with VAT, as seen with the Sony Mavica issue. Releases before 10.4.11 mount disks with Sparing Table but does not read its files correctly. Version 10.4.11 fixes this problem.
Similarly, Windows XP Service Pack 2 (SP2) cannot read DVD-RW discs that use the UDF 2.00 sparing tables as a defect management system. This problem occurs if the UDF defect management system creates a sparing table that spans more than one sector on the DVD-RW disc. Windows XP SP2 can recognize that a DVD is using UDF, but Windows Explorer displays the contents of a DVD as an empty folder. A hotfix is available for this and is included in Service Pack 3.
Due to the default UDF versions and options, a UDF partition formatted by Windows cannot be written under macOS. On the other hand, a partition formatted by macOS cannot be directly written by Windows, due to the requirement of a MBR partition table. In addition, Linux only supports writing to UDF 2.01. A script for Linux and macOS called format-udf
handles these incompatibilities by using UDF 2.01 and adding a fake MBR; for Windows the best solution is using the command-line tool format /FS:UDF /R:2.01
.
Tools for repairing UDF file systems and for modifying their properties have been made for some operating systems. On Windows, the chkdsk tool is able to repair UDF file systems (if not too damaged, like any file system). A similar tool for Linux, udffsck
, was under development by Vojtech Vladyka as an extension of fsck, and it was planned to be added to the udftools package. However, it was abandoned by its developer in 2018.
A tool for toggling the write protection flag, udftune
, was under development by Johannes Truschnigg in 2023 but could not be merged into the main udftools package because its maintainer Pali Rohár has reportedly lost access to his GitHub account.
See also
Notes
References
Further reading
- ISO/IEC 13346 standard, also known as ECMA-167.
External links
- Home page of the Optical Storage Technology Association (OSTA)
- UDF specifications: 1.02, 1.50, 2.00, 2.01, 2.50, 2.60 (March 1, 2005), SecureUDF
- UDF 1.01 (mirror, original file name: "UDF_101.PDF") – This specification was never published on the OSTA website and only existed in its early days on a FTP server that is long gone as of 2024, at this URL (linked from this 1996 article[usurped]).
- An archive containing all UDF specifications (22 MB, mirror)
- An archive containing the UDF specifications and some ECMA documents referenced from them (73 MB, mirror)
- ECMA 167/3: Volume and File Structure for Write-Once and Rewritable Media using Non-Sequential Recording for Information Interchange (June 1997) (referenced from UDF specification)
- Wenguang Wang's UDF Introduction
- Linux UDF support
- "CD-ROM Drive May Not Be Able to Read a UDF-Formatted Disc in Windows XP", Microsoft Support
- AIX – CD-ROM file system and UDFS
- OSTA Technology (mention of UDF 1.00 on the 1996 OSTA website) (The UDF 1.00 specification itself is lost literary work as of 2024.)
- UDF – El profesional de la información (mention of UDF 1.01)[usurped]
- An archive of the source codes of various optical disc authoring and reading tools, including
udftools
and its forks that containudftune
andudffsck
, as well as the cross-platform formatting scriptformat-udf
: ZIP (41 MB), TAR BZip2 (26 MB).