Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

STEP File Analyzer and Viewer

NIST STEP File Viewer screenshot

The STEP File Viewer supports parts and assemblies, dimensions and tolerances, sketch and supplemental geometry, datum targets, and point clouds. The Analyzer generates a spreadsheet of all entity and attribute information; reports and analyzes any semantic PMI, graphical PMI, and validation properties for conformance to recommended practices; and checks for basic STEP file format errors.

What is STEP?

STEP (ISO 10303 –STandard for Exchange of Product model data) files are also known as Part 21 files with a file extension of .stp, .step, or .p21. STEP files are used to represent parts, assemblies, and Product and Manufacturing Information (PMI) that is used for data exchange and interoperability between Computer-Aided Design (CAD), Manufacturing (CAM), Analysis (CAE), and Inspection (CMM) software. PMI consists of annotations and attributes that define product geometry and product specifications including annotations (callouts) to specify Geometric Dimensioning and Tolerancing (GD&T).

STEP AP242, AP203, AP214 and others are supported. See Uses below. Compare the differences between STEP AP203 vs AP214 vs AP242.

STEP File Viewer

The free STEP File Viewer supports part shape, annotations for dimensions and tolerances, sketch geometry, supplemental geometry, datum targets, point clouds, and finite element models that is displayed in a web browser. Nested assemblies are supported where one STEP file contains the assembly structure with external file references to individual assembly components that contain part geometry. 

Examples: Box assemblyPart with graphical dimensions and tolerancesAP242 tessellated part geometryAP209 finite element analysis models

The viewer can also convert an ASCII STL file to STEP AP242 tessellated geometry.  STL files are used for 3D printing and additive manufacturing.

Spreadsheets and Reports

A spreadsheet simplifies analyzing information from the STEP file at an entity and attribute level. In the spreadsheet, each entity type is a worksheet, each row is an entity instance where the columns are the entity attributes. Reports can be generated for PMI Representation, PMI Presentation, and Validation Properties based on Recommended Practices defined by the CAx Implementor Group.

  • STEP-File-Analyzer-PMI-Representation-sfa.xlsx - The spreadsheet was generated from an AP242 file with PMI Representation (also known as semantic PMI) reports for dimensional tolerances, geometric tolerances, and datum features as indicated on the Summary worksheet. PMI Representation includes all information necessary to represent GD&T without any graphical presentation elements. PMI Representation is computer-interpretable to facilitate automated consumption by downstream applications for manufacturing, measurement, inspection, and other processes. Results are color-coded based on one of the NIST CAD models.
  • STEP-File-Analyzer-sfa.xlsx - The spreadsheet was generated from an AP203 file that contains Validation Properties and PMI Presentation (also known as graphical PMI). Validation properties are quantities related to features of a CAD model that are computed by the native CAD software used to validate the import of those quantities. PMI Presentation consists of geometric elements preserving the exact appearance of the GD&T annotations. PMI Presentation is not intended to be computer-interpretable and does not carry any representation information, although it can be linked to its corresponding PMI Representation.
  • STEP-File-Analyzer-Coverage.xlsx - The spreadsheet was generated when processing multiple STEP AP242 files. The File Summary worksheet shows the distribution of STEP entities across all of the files. The Coverage Analysis worksheet shows coverage of PMI Representation concepts from the STEP file and CAx-IF Recommended Practices. Results are color-coded based on one of the NIST CAD models.

Syntax Checker

The software includes a syntax checker that checks for basic syntax errors and warnings in the STEP file related to missing or extra attributes, incompatible and unresolved entity references, select value types, illegal and unexpected characters, and other problems with attributes. Syntax checking might help you diagnose errors when importing STEP files into CAD software. STEP file errors should be fixed to ensure that the file conforms to the STEP schema and can interoperate with other software. There are other validation rules defined by STEP schemas (where, uniqueness, and global rules, inverses, derived attributes, and aggregates) that are not checked.

Testing STEP Implementations

The CAx Interoperability Forum (CAx-IF) tests software implementations of AP242 and previously tested AP203 and AP214. The CAx-IF is a joint testing activity between PDES, Inc. (U.S.), prostep ivip (Germany), and  AFNeT (France).

To test how well your CAD system implements STEP AP242 PMI, download the NIST PMI CAD models, open one of the models, export an AP242 file with PMI, and process it with the STEP File Analyzer and Viewer. The PMI Representation Summary worksheet will indicate how well the AP242 PMI matches the expected PMI in the NIST PMI CAD model test case definitions. Differences might be due to how some PMI was modeled in the CAD system or how the PMI was exported to the STEP file.


The software supports all commonly used STEP file formats, also known as Application Protocols (AP), including those listed below. An AP is the implementable part of ISO 10303 on which translators are based on in a particular engineering domain.

Some other EXPRESS schemas are also supported.

Sample Screenshots

STEP File Analyzer and Viewer screenshot
Created December 7, 2012, Updated January 19, 2022