Supports BC1–BC5 (DXT1/3/5, ATI1/ATI2), BC7, uncompressed RGB/RGBA/luminance, 16-bit and float formats, mipmaps, cubemaps and texture arrays. BC6H HDR is not supported yet.

How to convert DDS to PNG

  1. Drop one or more .dds files onto the box above, or click it to pick files from your computer.
  2. Each texture gets its own card with a preview, its compression format, dimensions and mip count.
  3. Pick the mip level, cube face or array slice you want, and choose which channels to export. RGBA keeps transparency; R, G, B or A exports a single channel as a grayscale PNG.
  4. Click Download PNG on a card, or Download all as ZIP to grab every converted file at once with the settings you picked for each.

The converter reads the texture data directly in JavaScript and writes the PNG itself, so your files stay on your device and the exported colors match the source pixels exactly, including the RGB values hidden under fully transparent areas.

Supported DDS formats

FormatAlso calledTypically used for
BC1DXT1Opaque diffuse textures, textures with 1-bit cutout alpha
BC2DXT2, DXT3Textures with sharp alpha transitions
BC3DXT4, DXT5Diffuse maps with smooth alpha, older normal maps (DXT5nm)
BC4ATI1, BC4U, BC4SSingle-channel maps: roughness, height, masks
BC5ATI2, 3Dc, BC5U, BC5STwo-channel tangent-space normal maps
BC7BPTCHigh-quality color and alpha in modern games
UncompressedA8R8G8B8, X8R8G8B8, R8G8B8, R5G6B5, A1R5G5B5, A4R4G4B4, L8, A8L8, A8UI art, lookup tables, lossless textures
High precisionR16G16B16A16 (UNORM and FLOAT), R32G32B32A32_FLOAT, R16, R32FHDR data, height fields. Values are clamped to 0–1 for PNG.

Both the legacy DDS header and the newer DX10 extended header are read. Mipmaps, cubemaps and texture arrays are all selectable; volume textures show their first depth slice. BC6H (the HDR block format) isn't decoded yet.

Tips for converting game textures

Normal maps look red and green

BC5 normal maps only store the X and Y directions. Leave Rebuild normal Z checked and the converter calculates the blue channel for you, giving you the familiar light-blue normal map. Uncheck it if you want the raw two-channel data.

Packed mask textures

Many engines pack roughness, metalness and ambient occlusion into separate channels of one texture. Use the R, G, B and A buttons to preview each channel and export it on its own as a grayscale PNG.

Cubemaps and skyboxes

For cubemaps with all six faces, choose Cross layout in the face menu to export a single horizontal-cross PNG, or pick an individual face such as +X or -Z.

Textures that come out upside down

Some pipelines store DDS rows bottom-up. Tick Flip vertically before exporting.

Working with other legacy image formats? Try the TGA to PNG converter, the PCX to PNG converter or the SGI to PNG converter.

DDS to PNG FAQ

What is a DDS file?

DDS (DirectDraw Surface) is Microsoft's texture container, used by most PC and console games. It stores image data in GPU-ready compressed formats like BC1 and BC7, along with mipmaps and cubemap faces, which is why ordinary image viewers can't open it.

Are my files uploaded anywhere?

No. The files are read and decoded by JavaScript running in your browser tab. Nothing is sent to a server, and the converter keeps working if you go offline after the page loads.

Can I convert a batch of DDS files at once?

Yes. Drop as many files as you like. Each one is converted with its own settings, and the Download all as ZIP button packs every finished PNG into one archive.

Does it support BC7 and DX10 DDS files?

Yes. The DX10 extended header is supported, including BC7, BC4, BC5, sRGB variants and typeless formats. BC6H HDR compression is the one common block format that isn't supported yet.

Why does my PNG have transparent areas?

The texture has an alpha channel, and the RGBA export keeps it. If the alpha is used for something other than transparency, such as a specular or height mask, choose RGB to export an opaque image, or A to export the alpha on its own.

What are mip levels, and which one should I pick?

Mipmaps are pre-shrunk copies of a texture that games use at a distance. Level 0 is the full-resolution image and is what you want in almost every case. Very large textures that are too big to decode in a browser tab default to the first smaller level that fits.

Is converting DDS to PNG lossless?

PNG is lossless, so the output matches the decoded texture pixel for pixel. Any quality loss happened when the DDS was compressed with a block format like BC1 or BC3; converting to PNG doesn't add more.

How large a DDS file can it handle?

Textures up to 8192 by 8192 pixels convert directly. Larger textures can still be exported from a smaller mip level. Very large batches depend on your device's memory, so if a tab struggles, convert fewer files at a time.

Our Full Image Tool Library

Flipper File