DWG
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
Dwg Preview.
At a glance
| Original creator | Mike Riddle (Interact CAD), then Autodesk, which licensed it for AutoCAD |
| First published | 1982 |
| Purpose | The native drawing format of AutoCAD: 2D and 3D CAD drawings with layers, blocks and paper-space layouts. |
| Extensions | .dwg |
| Poka parser | poka-dwg |
| Viewer | none: the parser draws its own preview |
| Depth tier | Standalone parser (see Depth tiers) |
| Breadth tier | B2 Broad (see Breadth tiers) |
Preview a sample
These are sample files, not yours. Poka opens a sample in your browser: the file is read and parsed on your device and nothing is uploaded.
How much Poka reads
B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-16: poka-dwg over the vendored dwg-rs; the crate tests pass (poka-dwg 39, dwg-rs 47 plus 8 integration), including comparisons with ODA File Converter output for R2007 and R2013, and a native probe parsed every real corpus file (28 .dwg and 4 .dwt; counts by release AC1015 8, AC1021 4, AC1024 2, AC1027 1, AC1032 16; no AC1018, AC1009, AC1012 or AC1014 file). The two AC1032 templates and one other AC1032 file decode to 0 entities (genuinely empty). Covers R2000 and later: R2000 B2 (strongest evidence), R2007 B2 (compared with ODA), R2010 and R2013 B2 (partial oracle evidence), R2004 B2 by code (one single-arc file outside the corpus), R2018 B2 by code (weakest evidence, no comparison with ODA or ezdxf); R12 to R14 are not read.
What Poka does not read
- Solids with no stored wireframe, other ACIS surface classes (extruded, revolved, swept, lofted, NURBS surfaces), WIPEOUT and LIGHT are not drawn (3DSOLID, REGION, BODY and PLANESURFACE show stored wireframe only)
- IMAGE shows its frame only, not its pixels, and only from R2013 files; from other releases it is listed as not drawn
- Hatch fills and patterns (outlines only)
- Linetypes, lineweights, text styles, layer on/off or frozen state and per-viewport freezing
- The drawing units ($INSUNITS) are not shown
- MTEXT inline format codes are shown verbatim
- Entity colours are reduced to an ACI index (true colour not checked)
- Everything is a top view
- Entities with coordinates of 1e9 or more, or subnormal, are silently dropped
- Caps of 300,000 entities for model space and 50,000 across layout tabs
- AutoCAD R12, R13 and R14 files are refused with a message naming the release
- ACAD_TABLE cell content is not read
Background
Riddle developed the format for Interact in the late 1970s; Autodesk licensed it in 1982 and AutoCAD 1.0 followed in December 1982. The format is proprietary and has gone through many internal revisions; the Open Design Alliance publishes a specification of it. Poka draws the geometric entities it can decode (lines, arcs, circles, polylines, splines, text, inserted blocks, layouts and layers) and lists entities it cannot draw as "Not drawn" in the file-information panel, so a preview can be partial for a rich drawing.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| DWG R11/R12 | AC1009 |
Not read | Recognised by signature; poka-dwg answers that it reads R2000 and later. |
| DWG R13 | AC1012 |
Not read | Recognised by signature; not read (UnimplementedVersion in dwg-rs). |
| DWG R14 | AC1014 |
Not read | Recognised by signature; not read (UnimplementedVersion in dwg-rs). |
| DWG 2000 (AutoCAD 2000, 2000i, 2002) | AC1015 |
Read | The reference path in dwg-rs; large drawings read to the end (poka-parsers#65). |
| DWG 2004 (AutoCAD 2004 to 2006) | AC1018 |
Read | No corpus file; read by code, with one single-arc file outside the corpus as evidence. |
| DWG 2007 (AutoCAD 2007 to 2009) | AC1021 |
Read | Reed-Solomon coded header and pages, added under poka-parsers#74; the four corpus files match ODA File Converter, according to dwg-rs HANDOFF.md. |
| DWG 2010 (AutoCAD 2010 to 2012) | AC1024 |
Read | |
| DWG 2013 (AutoCAD 2013 to 2017) | AC1027 |
Read | |
| DWG 2018 (AutoCAD 2018 onwards) | AC1032 |
Read | The weakest evidence of the read versions: 16 corpus files decode, but there is no comparison with ODA File Converter or ezdxf. |
Derived and related formats
- AutoCAD drawing template (
.dwt): A DWG file with a different extension; Poka routes .dwt to the poka-dwg module (parsers/aliases.toml). A .dwt that is really a Dreamweaver HTML template is shown as source.
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- dwg-rs, vendored at parsers/poka-dwg/dwg-rs (used; MIT OR Apache-2.0; Rust)
- acadrust (candidate; MPL-2.0; Rust; https://github.com/hakanaktt/acadrust) — MPL-2.0 is file-level copyleft; wasm use needs a deny.toml exception
- ACadSharp (candidate; MIT; C#; https://github.com/DomCR/ACadSharp)
- LibreDWG (reference; GPL-3.0; C; https://github.com/LibreDWG/libredwg) — reference only, not usable in wasm
- Open Design Specification for .dwg files (candidate; public spec; spec; https://www.opendesign.com/files/guestdownloads/OpenDesign_Specification_for_.dwg_files.pdf)
Software that uses it
- Autodesk AutoCAD
- Bricsys BricsCAD
- GstarCAD
Sources
- https://en.wikipedia.org/wiki/.dwg
- https://www.opendesign.com/files/guestdownloads/OpenDesign_Specification_for_.dwg_files.pdf
- parsers/poka-dwg/src/main.rs
- parsers/poka-dwg/dwg-rs/dwg/src/version.rs
- parsers/poka-dwg/dwg-rs/HANDOFF.md