IGS File Documentation
Summary
An IGS (IGES — Initial Graphics Exchange Specification) file is a neutral 3D/2D CAD model stored as fixed-layout 80-column ASCII text, so a part can move between CAD programs from different vendors. Its MIME type is model/iges. View or measure it free in FreeCAD, CAD Assistant, or eDrawings; convert IGS to .stl to 3D print it. .igs and .iges are the identical format — .igs is just the old three-letter spelling.
Technical details
| Feature | Value |
|---|---|
| Full name | IGES — Initial Graphics Exchange Specification |
| File extension | .igs (also .iges) |
| MIME type | model/iges |
| Format type | Neutral CAD exchange model (surfaces + wireframe), plain ASCII |
| Developer | US National Bureau of Standards / ANSI (ANS US PRO/IPO-100) |
| Introduced | 1980 (IGES 1.0); final version IGES 5.3, 1996 |
| Standard | ANSI; effectively frozen since IGES 5.3 |
| Open standard | Yes — published, vendor-independent |
| Encoding | Fixed 80-column ASCII “card” records |
| Sections | Start (S), Global (G), Directory Entry (D), Parameter Data (P), Terminate (T) |
| Section flag | Column 73 = S/G/D/P/T; columns 74–80 = sequence number |
| Magic number | None — identify by the 80-column card layout and S-section |
| Geometry | Points, curves, NURBS surfaces, trimmed surfaces, wireframe (not always solids) |
| Successor | STEP (ISO 10303) for new exchange work |
| Related extensions | .iges, .step, .stp, .stl, .sat, .x_t |
| Free viewers | FreeCAD, CAD Assistant, eDrawings, Autodesk Viewer, ShareCAD |
| Specification | loc.gov (IGES format description) |
What is an IGS file?
IGS is the three-letter form of IGES, the Initial Graphics Exchange Specification. It is one of the oldest neutral CAD exchange formats, published in 1980 by the US National Bureau of Standards (now NIST) so that 3D and 2D models could move between CAD systems from different vendors. The .igs extension is the DOS-era spelling of .iges; the two are byte-for-byte the same format and can be renamed into one another. The final revision, IGES 5.3, appeared in 1996, and the standard has been frozen since. The newer STEP format (ISO 10303) has largely replaced it for new work, but IGES is still common in manufacturing because so much legacy data and so many tool chains depend on it.
An IGES file is plain ASCII text, not binary, laid out as fixed 80-column “cards” — a design inherited from punched-card systems. The geometry is stored as entities (points, curves, NURBS surfaces, trimmed surfaces, wireframe) rather than as a single watertight solid, and that entity-and-surface nature is the source of both its portability and its main weakness.
The 80-column card and the five sections
Every line in an IGES file is exactly 80 characters. The last eight columns are structural: column 73 carries a single letter naming the section the line belongs to, and columns 74–80 carry a right-justified sequence number that counts lines within that section. Columns 1–72 carry the actual data. A file is a run of these cards grouped into five sections, always in this order:
col: 1 72 73 74 80
|------------- data ----------------| S 0000001
|------------- data ----------------| G 0000001
|------------- data ----------------| D 0000001
|------------- data ----------------| P 0000001
|------------- data ----------------| T 0000001
S = Start human-readable description
G = Global units, author, originating system, precision
D = Directory two-line index record per entity
P = Parameter the geometry parameters for each entity
T = Terminate single closing line with per-section record counts
Because the section letter and sequence number live in fixed columns, a reader can classify any line without parsing it, and the Terminate card at the end states how many records each section contained, which is a built-in integrity check. This rigid column layout is exactly how you recognise an IGES file when it opens as text: there is no magic number to look for.
The Start and Global sections
The Start section (letter S) is free-form, human-readable text: a description of the file that a person can read in any text editor. It carries no geometry and is often just a note about what the model is and which program wrote it.
The Global section (letter G) holds the parameters a reader needs before it can interpret the geometry. Its fields are comma-delimited and include the parameter and record delimiters themselves, the sending system's product name, the units flag (for example millimetres or inches), the model-space scale, the smallest and largest coordinate values, and the author and date. Getting the units right here is critical: a common IGES import bug is a part arriving 25.4 times too big or too small because the units field was mismatched.
Directory Entry and Parameter Data: how an entity is stored
The geometry lives across two sections that work as a pair. The Directory Entry section (letter D) is an index: every entity gets a fixed, two-line record of exactly twenty fields describing its type number, a pointer to its parameter data, its line style, colour, layer, transformation-matrix pointer, and status flags. Directory records are fixed-width, so a reader can jump directly to any entity's metadata.
The Parameter Data section (letter P) holds the actual numbers that define each entity, in free format delimited by the characters declared in the Global section. Each parameter record begins with the entity type number and then lists the geometry: for a NURBS surface (entity type 128) that means the degrees, knot vectors, control points, and weights. The Directory record and the Parameter record cross-reference each other by pointer, so the two-line Directory index and the variable-length Parameter block together fully define one entity.
| Entity type | What it defines |
|---|---|
| 100 | Circular arc |
| 110 | Line |
| 126 | Rational B-spline (NURBS) curve |
| 128 | Rational B-spline (NURBS) surface |
| 144 | Trimmed (parametric) surface |
| 186 | Manifold solid B-rep object (later addition) |
Why IGES models arrive with gaps
The defining limitation of IGES is that it most often transfers surfaces and wireframe, not a single watertight solid. A part is described as a collection of trimmed surfaces that should meet at their edges, but because each surface is stored independently and to finite precision, tiny tolerance mismatches leave microscopic gaps between neighbouring surfaces. The result is a model that looks complete but is not a closed volume, which is a problem the moment you try to treat it as a solid, mesh it for 3D printing, or run a simulation on it.
The fix is a healing step. CAD tools provide a “sew”, “stitch”, or “heal surfaces” command (FreeCAD, Fusion 360, and SolidWorks all have one) that closes the gaps within a tolerance and knits the surfaces into a solid. This is also why STEP is preferred for new exchanges: STEP stores complete boundary-representation solids and product structure, so it does not suffer the same non-watertight import problem.
From IGS surfaces to a printable mesh
To 3D print an IGS part you convert it to STL, the triangle-mesh format slicers read. The order of operations matters: because IGES is often surface-based, heal the surfaces into a solid first, then export STL, or the mesh will inherit the gaps as holes and the slicer will refuse it. FreeCAD and Open Cascade CAD Assistant do both steps for free — open the .igs, sew the surfaces, then export STL and load it into Cura or PrusaSlicer. To modernise the model for a CAD tool that prefers solids, export it to STEP (.step/.stp are the same target) instead.
For simply viewing, measuring, or rotating an IGS part, no paid CAD is needed: FreeCAD, CAD Assistant, and eDrawings are free desktop viewers, and Autodesk Viewer or ShareCAD open an IGS in a browser with nothing to install.
References
- Library of Congress — IGES (Initial Graphics Exchange Specification) format description
- FreeCAD — free open-source CAD (opens, heals, and exports IGES)
- Open Cascade — CAD Assistant viewer and converter
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.