What is DDS? DirectDraw Surface Texture Format Explained

DDS (DirectDraw Surface) is Microsoft's DirectX texture container, introduced with DirectX 7, storing block-compressed (DXTn/BCn) textures, mipmaps and cube maps.

Free online file converter tool. Works in Chrome Firefox Safari Edge Opera and other modern browsers on Windows macOS Linux Android and iOS. No software installation or sign-up required. All conversions run directly in your browser, so your files never leave your device. Free to use with no account needed.

Image

What is DDS? DirectDraw Surface Texture Format Explained

A Microsoft container for GPU textures that stores block-compressed data with mipmaps and cube maps.

Last updated:

Year Created1999
CompressionRaster texture container
Primary UseGame & 3D textures

What is DDS?

DDS, or DirectDraw Surface, is a Microsoft container file format for storing textures used by DirectX and Direct3D applications. It was introduced with DirectX 7 in 1999 and is designed to hold data in formats that graphics hardware can use directly.

A DDS file begins with a magic number, a 124-byte header describing dimensions, pixel format, and mipmap count, and an optional extended DX10 header, followed by the surface data. It commonly stores S3 Texture Compression (S3TC / DXT1, DXT3, DXT5) and later BC4 through BC7 block-compressed data, which GPUs can decompress in hardware, and it can contain mipmap chains, cube maps, volume textures, and texture arrays.

How DDS Stores Textures

A DDS file opens with the magic value DDS followed by a 124-byte DDS_HEADER describing the surface's dimensions, pixel format, mipmap count, and flags; an optional DDS_HEADER_DXT10 extension follows when newer DXGI formats or texture arrays are used.[2] The remaining bytes hold the surface data laid out exactly as the GPU expects, so textures can be uploaded with little or no conversion.[1]

Block Compression

DDS most often stores S3 Texture Compression (DXT1, DXT3, DXT5) and the later BC4 through BC7 block-compression formats, in which fixed-size blocks of pixels are encoded so graphics hardware can decompress them on the fly during rendering.[3] The same container also holds mipmap chains, cube maps, volume textures, and texture arrays within one file.[1]

History and Use

Microsoft introduced DDS with the DirectX 7 SDK in 1999 as part of DirectDraw.[3] Its defining advantage over general image formats like PNG is that block-compressed data stays compressed in video memory, reducing bandwidth and storage at runtime; the trade-off is fixed, lossy compression unsuited to general photographic editing. Beyond games, geospatial tools such as GDAL can read and write the format.[4]

MKV Technical Specifications

DeveloperMicrosoft[1]
File Extension.dds[1]
MIME Typeimage/vnd-ms.dds (non-standard)[1]
Released1999 (DirectX 7)[1]
CompressionS3TC / DXTn and BCn block compression, or uncompressed[1]

DDS vs Other Image Formats

FeatureDDSPNGTGA
TypeRaster (texture)RasterRaster
CompressionBlock (DXT/BCn)[1]LosslessNone or RLE
TransparencyAlpha channel[2]YesYes
MipmapsYes[1]NoNo
Best forGPU textures[3]Web, graphicsGame art assets
Standardized byMicrosoft (Direct3D)[1]W3C, ISOTruevision

DDS stores GPU-ready compressed textures with mipmaps for real-time rendering, whereas PNG and TGA target general image storage without hardware-decode optimization.

Advantages & Disadvantages

Advantages

GPU-ready data | FileFormer

Block-compressed textures stay compressed in video memory and are decoded by the GPU on the fly, so more textures fit in VRAM.

Fast loading | FileFormer

Because the data does not need CPU-side decompression before upload, textures load quickly into the rendering pipeline.

Stores mipmaps and cube maps | FileFormer

A single DDS file can hold a full mipmap chain plus cube maps, volume textures, and texture arrays needed by 3D engines.

Multiple compression modes | FileFormer

Supports a range of formats from DXT1/3/5 to modern BC4-BC7, balancing size and quality for different texture types.

Disadvantages

Lossy block compression | FileFormer

DXTn/BCn compression is lossy and can introduce artifacts, making DDS unsuitable as a general photo-editing format.

Specialized use | FileFormer

DDS is aimed at real-time graphics; ordinary image viewers and web browsers do not display it natively.

Larger than modern photo codecs | FileFormer

For storage or distribution of regular images, formats like PNG or JPEG are typically smaller than uncompressed or DXT DDS data.

Common Use Cases

DDS is the workhorse texture format of real-time 3D graphics on DirectX platforms.

Game textures | FileFormer

Game engines load DDS files for surface, normal, and environment textures because the GPU can use them directly.

Cube and environment maps | FileFormer

DDS stores cube maps used for skyboxes and reflections in 3D scenes.

Mipmapped assets | FileFormer

Precomputed mipmap chains in DDS reduce aliasing and improve rendering performance at varying distances.

Convert DDS Files Free

Use our free online image converter to convert DDS and other formats - no signup, no watermarks.

Try Image Converter Free

Frequently Asked Questions

What is DDS used for?

DDS stores textures for DirectX and Direct3D applications, especially games and 3D engines, holding GPU-friendly block-compressed data along with mipmaps and cube maps.

What compression does DDS use?

It typically uses S3 Texture Compression (S3TC), known as DXT1, DXT3, and DXT5, with later DirectX versions adding BC4 through BC7. Uncompressed data is also supported.

When was DDS introduced?

Microsoft introduced the DDS file format with DirectX 7 in 1999.

Can I open a DDS file in a normal image viewer?

Usually not directly. You generally need a graphics tool, game-development software, or a plugin, since DDS is built for GPU textures rather than general viewing.

Does DDS support mipmaps and cube maps?

Yes. A DDS file can store a complete mipmap chain, cube maps, volume textures, and texture arrays.

References

  1. Programming Guide for DDS - Microsoft Learn
  2. Reference for DDS - Microsoft Learn
  3. DirectDraw Surface - Wikipedia
  4. DDS -- DirectDraw Surface - GDAL Documentation