The .dwg format

If you handle AutoCAD Drawing files long enough you learn them by their first bytes rather than by their extension. The format is Autodesk Inc.’s. Save as DXF or use DWG TrueView to convert a newer drawing down for an older AutoCAD release.

What the file holds

The first 6 bytes are ASCII: the release code decides the format — AC1032 covers AutoCAD 2018-2023, AC1036 covers 2024+, AC1027 covers 2013-2017, AC1021 covers 2007-2009.

Spotting a renamed file

The format announces itself in plain text: AC10xx ASCII version code in the first 6 bytes near the start of the file. If that string is missing, whatever produced the file is not what the extension claims.

Opening it without the program that made it

Installed options: AutoCAD (matching release or newer), AutoCAD DWG TrueView (free), Bentley MicroStation, Ares Kade, ODA File Converter (free). None of them have to be the program that made the file: Universal Viewer reads it and writes nothing back.

Getting it out of .dwg

The targets people actually ask for are .dxf, .pdf, .svg, .dwf, .obj. Each one has its own page with the settings that matter: dwg → dxf, dwg → pdf, dwg → svg, dwg → dwf, dwg → obj

Last looked over 2026-10-05 by M. Halvorsen.

Notes from the file library

Files of this kind are catalogued with the family named in the table above. The family groups them by what a file carries, not by the application that wrote it, which is why two extensions from the same application can sit in different families.

Two things decide whether a file can be opened on a machine that never had the application that made it: the header, which says what the container is, and the structure behind it, which says whether the contents can be read at all. The conversion guides listed on the page cover the targets that come up most often.

Format pages are rebuilt with each release of the toolset, and the review line at the bottom of the page is when an editor last checked the entry against a file. If a page disagrees with a file you have, send the first sixteen bytes and the build number to the support address and the entry is corrected in the next build.