Home › Formats › Game textures › DDS

DDS files: what they are and how to open or convert game textures

DDS (DirectDraw Surface) is the texture format game engines and modding tools use: Skyrim, Fallout, GTA, Unity, Unreal, and countless others. It stores GPU-ready, block-compressed pixels (DXT1/DXT5/BC7) together with a mipmap chain, which is exactly why ordinary image viewers and editors cannot open it without a plugin.

Compression
BC1 to BC7, or none
Transparency
Yes (BC3, BC7, RGBA)
Mipmaps
Yes
Used by
Game engines, modding

What is a DDS file?

DDS, DirectDraw Surface, is Microsoft's container for textures that go straight to the graphics card. Instead of ordinary pixels it usually holds block-compressed data in formats like DXT1, DXT5, BC5, or BC7, which the GPU can read without decompressing, together with a chain of progressively smaller mipmaps used when the texture is seen from far away. That is why nearly every PC game and engine, from Skyrim and Fallout to Unity and Unreal, stores its textures as DDS.

How to open a DDS file

Ordinary image viewers cannot decode the GPU compression. Windows Photos, Paint, and browsers show nothing; Photoshop and GIMP need a plugin; Paint.NET has built-in support. The quickest route is to convert the DDS to PNG here: the converter decodes DXT1 through BC7 and uncompressed layouts in your browser and gives you a lossless PNG with the alpha channel intact.

Making DDS textures for a game

To go the other way, convert your PNG or TGA to DDS with DXT1 for opaque textures, DXT5 for textures with transparency, and generate mipmaps unless the texture is a UI element shown at a fixed size. Many engines require power-of-two dimensions such as 512, 1024, or 2048, so resize first if needed. Normal maps, specular maps, and other data textures follow game-specific rules; check the mod community for the title you are working on.

Frequently asked questions

What is the difference between DXT1 and DXT5?

DXT1 stores no usable alpha channel and is half the size; DXT5 keeps smooth transparency. Both compress colors the same way.

Why do the colors of a DDS look wrong?

Many game textures are not pictures: normal maps look blue or red-green, and specular or roughness data may live in the alpha channel. The file is decoded correctly; it just was not meant to be viewed.

Can DDS be converted without losing quality?

Decoding to PNG is lossless. Encoding to DXT is lossy, like JPG, though at texture sizes it is rarely visible in-game.

Convert or edit DDS files

Resize to 8×8Resize any image to exactly 8×8 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 16×16Resize any image to exactly 16×16 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 32×32Resize any image to exactly 32×32 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 64×64Resize any image to exactly 64×64 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 128×128Resize any image to exactly 128×128 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 256×256Resize any image to exactly 256×256 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingDiscord Emoji MakerTurn any picture into a Discord custom emoji: resized to 128×128 PNG under 256 KB with transparency kept, in your browserDiscord Sticker MakerMake a Discord sticker from any image: exactly 320×320 PNG with transparency, under the 512 KB limit, in your browserDiscord Image ResizerResize images to every Discord size: server icon 512×512, server banner 960×540, profile banner 600×240, avatar 1024×1024, emoji 128×128, sticker 320×320Twitch Emote MakerTurn one image into all three Twitch emote sizes (28×28, 56×56, 112×112) as transparent PNGs in your browserTwitch Image ResizerResize images to Twitch sizes: profile picture 800×800, profile banner 1200×480, offline screen 1920×1080, panel 320×100, video thumbnail 1280×720YouTube Thumbnail ResizerResize any image to the YouTube thumbnail size, 1280×720 (16:9), as a JPG under 2 MB, in your browserYouTube Image ResizerResize images to YouTube sizes: channel banner 2560×1440, profile picture 800×800, thumbnail 1280×720, watermark 150×150, Shorts 1080×1920Instagram Image ResizerResize photos to Instagram sizes without cropping surprises: square post 1080×1080, portrait 1080×1350, landscape 1080×566, story and reel 1080×1920, profile 320×320X (Twitter) Image ResizerResize images for X (Twitter): header 1500×500, post image 1600×900 (16:9), profile picture 400×400, in your browserFacebook Image ResizerResize images for Facebook: cover photo 851×315, shared image 1200×630, square post 1080×1080, profile picture 170×170, event cover 1920×1005LinkedIn Image ResizerResize images for LinkedIn: profile banner 1584×396, post image 1200×627, profile photo 400×400, company cover 1128×191, in your browserSocial Preview (OG) Image ResizerResize any image to 1200×630, the Open Graph size that Facebook, X, LinkedIn, Slack, and Discord use for link previews, in your browserSteam Image ResizerResize images for Steam: profile avatar 184×184, header capsule 460×215, main capsule 616×353, library capsule, workshop preview 640×360, in your browserApp Icon ResizerGenerate all app icon sizes from one image (16, 32, 48, 64, 128, 256, 512, 1024 px) as PNGs in your browser, for iOS, Android, macOS, Windows, and webCrop ImageCrop photos to a square, 16:9, 9:16, 4:5, or exact pixel size in your browserRotate ImageRotate images by 90, 180, or 270 degrees and flip them horizontally or vertically in your browserAdd Watermark to ImageStamp a text watermark on photos in your browser: choose position, size, opacity, or tile it across the imageImage to Text (OCR)Extract text from photos, screenshots, and scans in your browser with on-device OCRMinecraft Server Icon MakerMake a Minecraft server icon from any image: exactly 64×64 PNG, saved as server-iconImage to Pixel ArtTurn any photo or drawing into pixel art in your browser: choose the pixel size, a limited palette (16 colors, Game Boy, PICO-8), and ditheringSprite Sheet MakerPack animation frames or the frames of a GIF into a sprite sheet grid with JSON coordinates, in your browserSprite Sheet SplitterSplit a sprite sheet or tileset into individual PNG frames by grid or tile size, in your browserPixel Art UpscalerScale pixel art, sprites, and game textures up 2x to 16x with crisp nearest-neighbor scaling, in your browserNormal Map GeneratorTurn a height map, bump map, or any texture into a tangent-space normal map (OpenGL or DirectX) in your browserDDS ViewerView DDS (DXT1, DXT5, BC4, BC5, BC7, uncompressed) and TGA textures in your browser: zoom, alpha and channel views, pixel readout, format and mip info, save as PNGDDS to PNG.dds → .pngDDS to JPG.dds → .jpgDDS to TGA.dds → .tga

Make DDS files

PNG to DDS.png → .ddsJPG to DDS.jpg → .ddsTGA to DDS.tga → .dds