Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
Understanding IPC-D-356: PCB Netlist File Format, Structure & How to Generate
If you’ve ever sent Gerber files to a PCB fabricator and wondered why they’re asking for a netlist file, IPC-D-356 is your answer. This standard defines how electrical connectivity information gets transmitted from your CAD system to the test equipment that verifies your bare boards actually work.
IPC-D-356 is the industry-standard format for bare board electrical test data. It tells test systems where every net is located, what test points are available, and how everything connects. Without it, your fabricator is flying blind when it comes to verifying that the board they manufactured matches your design intent.
In this guide, we’ll break down the IPC-D-356 format structure, explain why your fabricator needs it, and show you exactly how to generate these files from Altium Designer, KiCad, and other popular CAD tools.
IPC-D-356, officially titled “Bare Substrate Electrical Test Data Format,” is a standardized file format developed by IPC (Association Connecting Electronics Industries) for transmitting PCB netlist and test point information. The format provides everything needed to perform automated bare board electrical testing.
IPC-D-356 Quick Facts
Details
Full Title
Bare Substrate Electrical Test Data Format
Current Version
IPC-D-356B (October 2002)
Previous Versions
IPC-D-356A (January 1998), IPC-D-356 (March 1992)
File Format
ASCII text, 80-column fixed format
Primary Purpose
Bare board electrical testing and verification
Page Count
61 pages (Revision B)
The format stores netlist information along with XY coordinates, referencing component pins, vias, and test points. When done correctly, an IPC-D-356 file contains everything a test system needs to perform continuity and isolation testing on unpopulated PCBs.
Why Your PCB Fabricator Needs IPC-D-356 Files
There’s a common misconception that Gerber files contain all the information needed to manufacture and test a PCB. They don’t. Gerber files describe the physical artwork—copper layers, solder mask, silkscreen—but they contain no electrical connectivity information.
Here’s where IPC-D-356 fills the gap:
Design Verification Before Manufacturing
When your fabricator receives both Gerber files and an IPC-D-356 netlist, they can compare the two immediately. The netlist extracted from your CAD system represents your design intent. If there’s any discrepancy between your netlist and what the Gerbers show, your fabricator can flag it before manufacturing begins.
This catches problems like corrupted Gerber exports, incorrect layer polarity assignments, or self-intersecting polygons that might create unintended shorts.
CAM Tooling Protection
During the CAM tooling stage, operators sometimes need to make modifications—adding teardrops, adjusting clearances, or panelizing designs. The IPC-D-356 netlist operates in the background to prevent any change that would alter the electrical design. If a CAM operator accidentally breaks a trace or creates a short, the netlist comparison catches it.
Bare Board Electrical Testing
The primary use of IPC-D-356 is programming bare board testers. Whether your fabricator uses flying probe testers or dedicated test fixtures, they need to know which points to probe and what connections to verify. The IPC-D-356 file provides net names, test point coordinates, and access side information for every node.
Testing Stage
How IPC-D-356 Helps
Pre-Production
Verifies Gerber files match design intent
CAM Tooling
Prevents accidental electrical changes
Electrical Test
Programs test equipment with correct netlist
Failure Analysis
Identifies specific nets with problems
IPC-D-356 File Format Structure
The IPC-D-356 format uses an 80-column fixed-width ASCII text structure. Every line is exactly 80 characters, with specific columns reserved for specific data fields. This rigid structure dates back to the early 1990s when the format was designed, but it remains the standard because it’s simple, universal, and well-supported.
Basic Record Types
An IPC-D-356 file contains four main types of records:
Record Type
Column 1
Description
Comment
C
Documentation and notes
Parameter
P
Header information and settings
Test Record
3
Electrical test point data
End of File
999
Marks file termination
File Organization
A properly structured IPC-D-356 file follows this sequence:
Header Section: Contains job parameters like title, units, and board information
Primary Image Data: Main netlist and test point information
Additional Images (if applicable): Data for panelized or stepped designs
End of File Marker: The code 999 terminates the file
Parameter Records
Parameter records always start with “P” in column 1, followed by two blank spaces in columns 2-3. Common parameters include:
Parameter
Purpose
JOB
Job identification name
CODE
Character encoding (usually IPC or ISO)
UNITS
Measurement units (CUST for inches, METRIC for mm)
TITLE
Board title or description
IMAGE
Identifies primary or stepped images
VER
Version identifier (important for IPC-D-356B)
Electrical Test Records
Test records are where the real connectivity data lives. These records start with a “3” in column 1 (operation code 317 for through-holes, 327 for SMD pads). Here’s how the columns break down:
The IPC-D-356 standard has gone through three major revisions. Understanding the differences matters because IPC-D-356B is not backward compatible with Revision A, and many CAD tools still export the older format.
Feature
IPC-D-356A (1998)
IPC-D-356B (2002)
Backward Compatible
Yes (with original)
No
Test Area Concept
Basic
Enhanced for SMD and unusual pads
Polygon Support
Limited
Simple polygon format added
Inter-layer Connections
Basic
Complex records for all connections
Endpoint Identification
Limited
New methods for endpoints/midpoints
Version Parameter
Not required
VER parameter distinguishes versions
Why IPC-D-356B Was Needed
Despite widespread acceptance of Revision A, ambiguities in the format caused interpretation problems between different software systems. Revision B addressed these issues while improving graphical representation and reducing file size.
Key improvements in Revision B include:
Better representation of SMD pads and unusually shaped test areas
Clear solder mask determination
Support for contour/polygon conductor areas
Updated complex records for representing all inter-layer net connections
Which Version Should You Use?
In practice, IPC-D-356A remains more widely supported by CAD tools and test equipment. Unless your fabricator specifically requests IPC-D-356B, the A revision is typically the safer choice. Always confirm with your fabricator which version they prefer.
Most PCB design software can export IPC-D-356 files, though the exact menu location varies. Here’s how to generate these files from the most popular tools.
Generating IPC-D-356 from Altium Designer
Altium Designer provides IPC-D-356A export through the Testpoint Report output:
Open your PCB document
Go to File → Fabrication Outputs → Testpoint Report
In the Fabrication Testpoint Setup dialog, check IPC-D-356A
Uncheck CSV if you only need the IPC format
Click OK to generate the file
Alternatively, use an Output Job file for batch processing:
Create or open an Output Job file (File → New → Output Job File)
Expand the Fabrication section
Add a new Fabrication Output → Test Point Report
Select your PCB document as the source
Configure to enable IPC-D-356A output
Generating IPC-D-356 from KiCad
KiCad makes IPC-D-356 export straightforward:
Open your PCB in Pcbnew
Go to File → Fabrication Outputs → IPC-D-356 Netlist File
Choose the directory for the output file
Click Save
The resulting file will be named with your project name and the .ipc extension.
Generating IPC-D-356 from Eagle/Fusion 360
In Eagle (now part of Autodesk Fusion 360):
Open your board layout
Run the IPC-D-356 ULP (User Language Program)
Configure output options as needed
Generate the netlist file
Note that Eagle may require downloading the IPC-D-356 ULP separately if it’s not included in your installation.
Generating from Other CAD Tools
CAD Tool
Menu Location
OrCAD/Allegro
Manufacturing → NC → Testprep
PADS
Tools → Generate Netlist → IPC-D-356
Mentor Xpedition
Output → Manufacturing → IPC-356
Cadence
Manufacture → NC → IPC-D-356
Common IPC-D-356 Issues and Solutions
Even with automated export, IPC-D-356 files can have problems. Here are the most common issues and how to resolve them.
Net Name Truncation
The IPC-D-356 format limits signal names to 14 characters. If your design uses longer net names (like RESET_ACTIVE_LOW_ACTIVE), they’ll be truncated, potentially creating duplicate names.
Solution: Use shorter net names in your schematic, or let your CAD tool generate alias names. Most tools handle this automatically but verify the netlist is correct after export.
Missing Test Points
Some nets may not appear in the IPC-D-356 file if they lack accessible test points. Internal layers without vias, or small pads covered by solder mask, might be excluded.
Solution: Review your design for test point accessibility. Add test points or vias where needed for critical nets.
Coordinate Mismatches
The IPC-D-356 file uses the same coordinate system as your design. If your fabricator’s equipment expects a different origin or orientation, test points won’t align.
Solution: Confirm coordinate origin and units with your fabricator. Most files use the board origin with units in 0.0001 inches (1/10 mil).
Layer Number Confusion
Multi-layer boards require correct layer numbering in the IPC-D-356 file. Layer 00 typically indicates a through-hole, while specific layer numbers indicate blind/buried vias or SMD pads.
Solution: Verify layer numbering matches your fabricator’s convention. Provide a layer stackup document for clarity.
Best Practices for IPC-D-356 Files
Follow these practices to ensure your IPC-D-356 files work smoothly:
Export at the same time as Gerbers: Generate your IPC-D-356 netlist during the same session as your Gerber export to ensure they match.
Include with every fabrication package: Always send the netlist file with your Gerbers, even if the fabricator doesn’t explicitly request it.
Verify before sending: Open the IPC-D-356 file in a text editor and spot-check a few nets to ensure the data looks reasonable.
Document any anomalies: If your design has intentional shorts, test points in unusual locations, or other non-standard features, document them separately.
Use consistent naming: Keep your net naming conventions consistent across projects to simplify verification.
Where to Purchase IPC-D-356 Standard
The official IPC-D-356 specification is available from several sources:
Source
Website
Notes
IPC Store
shop.ipc.org
Official source, digital download
ANSI Webstore
webstore.ansi.org
PDF format
GlobalSpec
standards.globalspec.com
Standards subscription available
Techstreet
techstreet.com
Multiple format options
Related Standards and Resources
IPC-D-356 works alongside other standards in the PCB fabrication ecosystem:
Standard
Purpose
Relationship to IPC-D-356
IPC-9252
Electrical Testing of Unpopulated Printed Boards
Defines test methods; IPC-D-356 provides data format
IPC-D-350
Printed Board Description in Digital Form
Related data format for board description
IPC-2581
Generic Requirements for PCB Assembly Products
Modern alternative including netlist data
ODB++
Complete fabrication data format
Includes netlist; more comprehensive than IPC-D-356
Gerber X2/X3
Extended Gerber with metadata
Complements IPC-D-356 with attribute data
Frequently Asked Questions
What is the difference between IPC-D-356 and IPC-D-356A?
IPC-D-356A was the first major revision of the original 1992 standard, released in 1998. It added support for additional test features and improved the format’s flexibility. The original IPC-D-356 is rarely used today; when people refer to “IPC-D-356,” they usually mean the A revision. IPC-D-356B (2002) is the current version but is not backward compatible.
Can I use IPC-D-356 files for assembled board testing?
IPC-D-356 is specifically designed for bare board testing—testing the unpopulated PCB before components are mounted. For assembled board testing (ICT, functional test), you’ll need additional files that include component information. Some test systems can use IPC-D-356 as a starting point but require supplementary data.
Why does my IPC-D-356 file have truncated net names?
The IPC-D-356 format limits signal names to 14 characters maximum. This limitation dates back to the original 1992 standard. If your net names exceed 14 characters, they’ll be truncated. Most CAD tools handle this by generating alias names, but you should verify the resulting netlist for accuracy.
Is IPC-D-356 being replaced by newer formats?
While newer formats like IPC-2581 and ODB++ offer more comprehensive data exchange, IPC-D-356 remains widely used for bare board testing specifically. Its simplicity and universal support make it unlikely to disappear anytime soon. Many fabricators prefer receiving IPC-D-356 alongside more comprehensive formats because their test equipment may only support the older standard.
What happens if I don’t provide an IPC-D-356 file?
If you don’t provide a netlist file, your fabricator can still test your boards by extracting connectivity from the Gerber data. However, this extracted netlist won’t have your original net names, and any errors in the Gerber files won’t be caught until functional testing—potentially after assembly. Providing an IPC-D-356 file adds a critical verification step that catches problems early.
Conclusion
IPC-D-356 may be an older standard, but it remains essential for PCB manufacturing. The format provides a universal way to communicate electrical connectivity from your CAD system to bare board test equipment, enabling verification that your fabricated boards match your design intent.
Every designer should understand how to generate IPC-D-356 files from their CAD tools and include them with every fabrication package. The few minutes it takes to export this file can save days of troubleshooting if problems are caught at the fabricator rather than on your test bench.
Whether you’re working with Altium Designer, KiCad, Eagle, or any other PCB design tool, make IPC-D-356 export part of your standard output routine. Your fabricator—and your schedule—will thank you.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.