Contact Sales & After-Sales Service

Contact & Quotation

  • 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.
Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

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.

What is IPC-D-356?

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 FactsDetails
Full TitleBare Substrate Electrical Test Data Format
Current VersionIPC-D-356B (October 2002)
Previous VersionsIPC-D-356A (January 1998), IPC-D-356 (March 1992)
File FormatASCII text, 80-column fixed format
Primary PurposeBare board electrical testing and verification
Page Count61 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 StageHow IPC-D-356 Helps
Pre-ProductionVerifies Gerber files match design intent
CAM ToolingPrevents accidental electrical changes
Electrical TestPrograms test equipment with correct netlist
Failure AnalysisIdentifies 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 TypeColumn 1Description
CommentCDocumentation and notes
ParameterPHeader information and settings
Test Record3Electrical test point data
End of File999Marks file termination

File Organization

A properly structured IPC-D-356 file follows this sequence:

  1. Header Section: Contains job parameters like title, units, and board information
  2. Primary Image Data: Main netlist and test point information
  3. Additional Images (if applicable): Data for panelized or stepped designs
  4. 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:

ParameterPurpose
JOBJob identification name
CODECharacter encoding (usually IPC or ISO)
UNITSMeasurement units (CUST for inches, METRIC for mm)
TITLEBoard title or description
IMAGEIdentifies primary or stepped images
VERVersion 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:

ColumnsFieldDescription
1-3Operation CodeIdentifies record type (317, 327, etc.)
4-17Signal NameNet name (max 14 characters)
18-26Reference DesignatorComponent RefDes (e.g., U1, R15)
27DashAlways a dash character
28-31Pin NumberComponent pin identifier
32Mid/End Point FlagM for midpoint, blank for endpoint
33-36Hole/Feature InfoHole diameter or access information
37-41Access SideWhich side to probe (A01, A02, etc.)
42-49X CoordinateTest point X location
50-57Y CoordinateTest point Y location
58-62X SizeFeature width
63-67Y SizeFeature height (0 if round)
68-70RotationFeature rotation in degrees
71-72Solder Mask InfoOptional mask data
73-80ReservedTypically blank

Example IPC-D-356 Record

Here’s what an actual test record looks like:

317VCC              U1  -1      D0300A01X+004500Y+003200X0500Y0000R000

Breaking this down:

  • 317: Through-hole test point
  • VCC: Net name
  • U1: Reference designator
  • 1: Pin number
  • D0300: 30 mil diameter hole
  • A01: Access from side 1
  • X+004500Y+003200: Location at (0.45″, 0.32″)
  • X0500Y0000: 50 mil round pad

IPC-D-356A vs IPC-D-356B: Key Differences

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.

FeatureIPC-D-356A (1998)IPC-D-356B (2002)
Backward CompatibleYes (with original)No
Test Area ConceptBasicEnhanced for SMD and unusual pads
Polygon SupportLimitedSimple polygon format added
Inter-layer ConnectionsBasicComplex records for all connections
Endpoint IdentificationLimitedNew methods for endpoints/midpoints
Version ParameterNot requiredVER 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.

Read more IPC Standards:

How to Generate IPC-D-356 Files from CAD Tools

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:

  1. Open your PCB document
  2. Go to File → Fabrication Outputs → Testpoint Report
  3. In the Fabrication Testpoint Setup dialog, check IPC-D-356A
  4. Uncheck CSV if you only need the IPC format
  5. Click OK to generate the file

Alternatively, use an Output Job file for batch processing:

  1. Create or open an Output Job file (File → New → Output Job File)
  2. Expand the Fabrication section
  3. Add a new Fabrication Output → Test Point Report
  4. Select your PCB document as the source
  5. Configure to enable IPC-D-356A output

Generating IPC-D-356 from KiCad

KiCad makes IPC-D-356 export straightforward:

  1. Open your PCB in Pcbnew
  2. Go to File → Fabrication Outputs → IPC-D-356 Netlist File
  3. Choose the directory for the output file
  4. 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):

  1. Open your board layout
  2. Run the IPC-D-356 ULP (User Language Program)
  3. Configure output options as needed
  4. 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 ToolMenu Location
OrCAD/AllegroManufacturing → NC → Testprep
PADSTools → Generate Netlist → IPC-D-356
Mentor XpeditionOutput → Manufacturing → IPC-356
CadenceManufacture → 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:

  1. 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.
  2. Include with every fabrication package: Always send the netlist file with your Gerbers, even if the fabricator doesn’t explicitly request it.
  3. 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.
  4. Document any anomalies: If your design has intentional shorts, test points in unusual locations, or other non-standard features, document them separately.
  5. 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:

SourceWebsiteNotes
IPC Storeshop.ipc.orgOfficial source, digital download
ANSI Webstorewebstore.ansi.orgPDF format
GlobalSpecstandards.globalspec.comStandards subscription available
Techstreettechstreet.comMultiple format options

Related Standards and Resources

IPC-D-356 works alongside other standards in the PCB fabrication ecosystem:

StandardPurposeRelationship to IPC-D-356
IPC-9252Electrical Testing of Unpopulated Printed BoardsDefines test methods; IPC-D-356 provides data format
IPC-D-350Printed Board Description in Digital FormRelated data format for board description
IPC-2581Generic Requirements for PCB Assembly ProductsModern alternative including netlist data
ODB++Complete fabrication data formatIncludes netlist; more comprehensive than IPC-D-356
Gerber X2/X3Extended Gerber with metadataComplements 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Sales & After-Sales Service

Contact & Quotation

  • 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.

Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

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.