PNG to DDS Converter
Make DirectX-ready .dds textures from PNGs: BC1/DXT1 for opaque textures, BC3/DXT5 for smooth alpha, or uncompressed BGRA — with an automatically generated mipmap chain.
PNG to DDS Converter
🔒 Processed on your device with the browser's own image engine — nothing is uploaded, and re-encoding strips EXIF metadata such as GPS location.
Drop files on the left — or tap a sample above.
- PNGLossless (Deflate) · 1–16 bits per channel, palette or true colour · alpha: Full 8-bit alpha
- DDSGPU block compression BC1–BC7 or none · BC1: 4 bits/pixel · BC3: 8 bits/pixel · BGRA: 32 · alpha: 1-bit (BC1), 4-bit (BC2) or interpolated 8-bit (BC3)
- TipOpaque texture? BC1. Smooth transparency (glass, foliage, UI)? BC3. Pixel-perfect UI or tiny sprites? Uncompressed BGRA.
- PrivacyFiles never leave your device; re-encoding drops EXIF/GPS metadata.
Format facts checked October 2026.
Runs in your browser — nothing you enter is uploaded or stored.
Scratchpad auto-saved
How it works — in four simple steps
No signup and nothing to install — it all runs in your browser.
Add PNG files
Drop, choose or paste them — or press the sample preset above.
Set the DDS options
Opaque texture? BC1. Smooth transparency (glass, foliage, UI)? BC3. Pixel-perfect UI or tiny sprites? Uncompressed BGRA.
Convert
Press Convert — results appear with a before/after slider, sizes and format details.
Download
Save each file or everything as a ZIP.
Opaque texture? BC1. Smooth transparency (glass, foliage, UI)? BC3. Pixel-perfect UI or tiny sprites? Uncompressed BGRA.
Features
Block compression + mipmaps
BC1/DXT1, BC1 with 1-bit alpha, BC3/DXT5 or BGRA8, with a full mip chain and optional power-of-two resize.
Batch + before/after
Convert many files at once, compare with the slider, download individually or as a ZIP.
Nothing uploaded
Decoding and encoding run in your browser tab; the files never leave your device.
About the PNG to DDS Converter
Games load DDS because GPUs can sample block-compressed textures directly: BC1 uses 4 bits per pixel and BC3 8 bits — a quarter to an eighth of uncompressed RGBA in video memory. Modders and indie developers convert PNG artwork to DDS so engines and games accept it.
The PNG is decoded by your browser, alpha included.
The DDS is written by our own encoder: a standard 128-byte DDS header with DXT1 (BC1) or DXT5 (BC3) FourCC, or an uncompressed 32-bit BGRA pixel format. Each 4 × 4 block's colour endpoints are chosen along the block's principal colour axis (found from its covariance), inset slightly to reduce error, then quantised to RGB565; BC3 alpha uses the 8-value interpolated mode. Mipmaps are generated with a 2 × 2 box filter down to 1 × 1.
PNG vs DDS compared
| Property | PNG | DDS |
|---|---|---|
| Origin / standard | W3C 1996 · ISO/IEC 15948 | Microsoft DirectX 7 (1999) |
| Compression | Lossless (Deflate) | GPU block compression BC1–BC7 or none |
| Transparency | Full 8-bit alpha | 1-bit (BC1), 4-bit (BC2) or interpolated 8-bit (BC3) |
| Colour depth | 1–16 bits per channel, palette or true colour | BC1: 4 bits/pixel · BC3: 8 bits/pixel · BGRA: 32 |
| Animation / pages | APNG extension | No (mipmaps, cubemaps, arrays) |
| Maximum size | 2³¹ − 1 px (practically memory-bound) | 16,384 px on Direct3D 11+ hardware |
| Typical use | Screenshots, UI, logos, web graphics | DirectX game textures, mods |
| Opens in | Everything | Visual Studio, GIMP, Paint.NET, game tools — not browsers |
Measured on our sample
What this page produced from its built-in sample (a 960 × 640 PNG), with each preset:
| Setting | Input | Output | Notes |
|---|---|---|---|
| Default settings | 557.0 KB · 960 × 640 | 800.3 KB · 960 × 640 | DDS · BC3/DXT5 · 10 mip levels |
| BC1, no mips | 557.0 KB · 960 × 640 | 300.1 KB · 960 × 640 | DDS · BC1/DXT1 |
Measured with this page’s converter in Chromium (October 2026). Press the sample preset above to reproduce; your own images will differ with their content.
Things to know
- Power-of-two sizes. Older engines require widths and heights like 256, 512 or 1024. Choose Resize to power of two if your game needs it.
- Block compression is lossy. BC1/BC3 store each 4 × 4 block with two colours and interpolations, so gradients can band slightly. That's the trade-off GPUs make for speed.