Skip to main content
Footprints

Footprinter Strings

Overview​

You can quickly specify the footprint and 3d model for any element by setting the footprint property to a string. Footprinter strings use a compact underscore-separated syntax (<package><pins>_<param><value>) to customize pitch, pad dimensions, body width, drill sizes, and thermal pads.

export default () => (
<chip
name="U1"
footprint="0402"
/>
)
PCB Circuit Preview

Common Parameter Modifiers​

ModifierExampleMeaning
p<length>soic8_p1.27mmCenter-to-center pin pitch
w<length>soic8_w3.9mmPackage body width
h<length>qfn16_w3mm_h3mmPackage body height
pw<length>0603_pw0.8mmIndividual SMD pad width
pl<length>0603_pl0.9mmIndividual SMD pad length
id<length>dip8_id0.8mmPlated hole inner (drill) diameter
od<length>dip8_od1.6mmPlated hole outer (annular ring) diameter
thermalpadqfn32_thermalpad3.1x3.1mmCentered exposed thermal pad (default or WxH)

dip​

Dual in-line package.

export default () => (
<board>
<chip footprint="dip" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="dip16_p1.27_id0.6mm_od0.9mm" name="U2" pcbX={0} pcbY={0} />
<chip footprint="dip8_wide" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
p"2.54mm"Pitch. Space between pins
id"1mm"Inner diameter (hole diameter) of plated holes
od"1.5mm"Outer diameter (copper diameter) of plated holes
w"300mil"Distance between columns
widefalseWide DIP style (600mil between columns)
narrowtrueNarrow DIP style (300mil between columns)

axial​

Basic through-hole “axial” resistor or diode footprint.

Examples:

  • axial
  • axial_p0.1in
export default () => (
<chip
name="U1"
footprint="axial"
/>
)
PCB Circuit Preview

axial parameters:

ParameterDefaultDescription
p"2.54mm"Pitch. Space between pins
id"0.7mm"Inner diameter (hole diameter) of plated holes
od"1mm"Outer diameter (copper diameter) of plated holes

01005​

Ultra-miniature imperial 01005 (metric 0402) two-pad SMD package. 0.4mm × 0.2mm

export default () => (
<chip
name="U1"
footprint="01005"
/>
)
PCB Circuit Preview

0201​

Sub-miniature imperial 0201 (metric 0603) two-pad SMD package. 0.6mm × 0.3mm

export default () => (
<chip
name="U1"
footprint="0201"
/>
)
PCB Circuit Preview

0402​

Standard imperial 0402 package. 1.0mm × 0.5mm

export default () => (
<chip
name="U1"
footprint="0402"
/>
)
PCB Circuit Preview

0603​

Standard imperial 0603 package. 1.6mm × 0.8mm

export default () => (
<chip
name="U1"
footprint="0603"
/>
)
PCB Circuit Preview

0805​

Standard imperial 0805 package. 2.0mm × 1.2mm

export default () => (
<chip
name="U1"
footprint="0805"
/>
)
PCB Circuit Preview

1206​

Standard imperial 1206 package. 3.2mm × 1.6mm

export default () => (
<chip
name="U1"
footprint="1206"
/>
)
PCB Circuit Preview

1210​

Standard imperial 1210 package. 3.2mm × 2.5mm

export default () => (
<chip
name="U1"
footprint="1210"
/>
)
PCB Circuit Preview

soic​

Small Outline Integrated Circuit (SOIC) footprint.

export default () => (
<board>
<chip footprint="soic" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="soic16_w7mm_p0.8mm" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins8Number of pins in the package.
w"5.3mm"Overall package width.
p"1.27mm"Pin pitch (center-to-center distance between adjacent pins).
pl"1.0mm"Pin length.
pw"0.6mm"Pin width.
legsoutsidefalseIf true, positions pins outside the package body; otherwise, pins are inset.

bga​

Ball Grid Array (BGA) footprint.

export default () => (
<board>
<chip footprint="bga9" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="bga16_p2mm" name="U2" pcbX={0} pcbY={0} />
<chip footprint="bga14_p1.5mm_missing(1,2)" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins64Total number of solder balls.
gridcalculatedGrid dimensions as an object (e.g. { x: N, y: N }). If unspecified, a square grid is assumed.
p"0.8mm"Ball pitch: center-to-center distance between adjacent balls.
wnonePackage width (optional).
hnonePackage height (optional).
ballnoneBall diameter (optional).
padnonePad size for each ball (optional).
tloriginfalseUse top-left numbering for balls.
bloriginfalseUse bottom-left numbering for balls.
troriginfalseUse top-right numbering for balls.
broriginfalseUse bottom-right numbering for balls.
missing[]List of balls to omit (by number or position) to accommodate design needs.

tssop​

Thin-Shrink Small Outline Package (TSSOP) footprint. Default configuration is 6.1mm width with 0.65mm pitch.

export default () => (
<board>
<chip footprint="tssop20" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="tssop20_w6.5mm_p0.65mm" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins8Number of pins in the package
w"6.1mm"Overall package width
p"0.65mm"Pin pitch (center-to-center distance between adjacent pins)
pwcalculatedPin width (calculated from pitch if not specified)
plcalculatedPin length (calculated from pin width if not specified)

msop​

Mini Small Outline Package (MSOP) footprint for compact dual-row surface-mount ICs.

export default () => (
<board>
<chip footprint="msop8" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="msop10" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins8Number of pins in the package (commonly 8 or 10)
w"3.0mm"Overall package body width
p"0.65mm"Pin pitch (0.65mm for MSOP-8, 0.5mm for MSOP-10)
pwcalculatedPad width
plcalculatedPad length

dfn​

Dual Flat No-Lead (DFN) surface-mount package with flush side pads.

export default () => (
<board>
<chip footprint="dfn8" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="dfn8_w3mm_p0.5mm" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins8Number of pins (even number split across left and right sides)
w"3.0mm"Package body width
p"0.5mm"Pin pitch
pw"0.3mm"Pad width
pl"0.8mm"Pad length

tqfp​

Thin Quad Flat Package (TQFP) footprint with intelligent defaults based on pin count. Commonly used for microcontrollers and FPGAs.

export default () => (
<board>
<chip footprint="tqfp32" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="tqfp44" name="U2" pcbX={0} pcbY={0} />
<chip footprint="tqfp64" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins32Total number of pins (must be divisible by 4). Common values: 32, 44, 48, 64, 80, 100, 144
pvariesPin pitch. Defaults: 0.8mm for 32-pin, 0.5mm for 44+ pins
plvariesPin length. Defaults based on pin count: 1.475mm for 32-100 pins, 1.6mm for 144 pins
pwvariesPin width. Defaults based on pin count: 0.55mm (32-pin), 0.3mm (44-100 pins), 0.25mm (144-pin)
winheritedPackage width (inherited from quad base)
hinheritedPackage height (inherited from quad base)

stampboard​

A breakout board with configurable pins on all sides. Can include inner holes for mounting.

export default () => (
<board>
<chip footprint="stampboard_left10_right10_bottom4_top0_w21mm_p2.54mm" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="stampboard_left20_right20_bottom3_top2_w21mm_p2.54mm_innerhole" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
w"22.58mm"Board width
hcalculatedBoard height (calculated from number of pins if not specified)
left20Number of pins on left side
right20Number of pins on right side
top2Number of pins on top side
bottom2Number of pins on bottom side
p"2.54mm"Pin pitch
pw"1.6mm"Pin width
pl"2.4mm"Pin length
innerholefalseWhether to include inner mounting holes
innerholeedgedistance"1.61mm"Distance of inner holes from edge

stampreceiver​

Similar to stampboard but with modified pad dimensions for receiving a stampboard component.

export default () => (
<board>
<chip footprint="stampreceiver_left20_right20_bottom3_top2_w21mm_p2.54mm" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="stampreceiver_left20_right20_bottom3_top2_w21mm_p2.54mm_innerhole" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
w"22.58mm"Board width
hcalculatedBoard height (calculated from number of pins if not specified)
left20Number of pins on left side
right20Number of pins on right side
top2Number of pins on top side
bottom2Number of pins on bottom side
p"2.54mm"Pin pitch
pw"1.6mm"Pin width
pl"3.2mm"Pin length
innerholefalseWhether to include inner mounting holes
innerholeedgedistance"1.61mm"Distance of inner holes from edge

hc49​

Standard HC49 crystal footprint.

export default () => (
<chip
name="U1"
footprint="hc49"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
p"4.88mm"Pin pitch
id"0.6mm"Inner diameter of plated holes
od"1.2mm"Outer diameter of plated holes
w"5.6mm"Package width
h"3.5mm"Package height

to92​

TO-92 transistor package footprint, available in triangular or inline arrangements.

export default () => (
<board>
<chip footprint="to92" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="to92_inline" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
p"1.27mm"Pin pitch
id"0.72mm"Inner diameter of plated holes
od"0.95mm"Outer diameter of plated holes
w"4.5mm"Package width
h"4.5mm"Package height
arrangement"triangular"Pin arrangement, either "triangular" or "inline"

to220​

TO-220 package footprint with configurable number of pins.

export default () => (
<board>
<chip footprint="to220_2" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="to220_3" name="U2" pcbX={0} pcbY={0} />
<chip footprint="to220_4" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins3Number of pins (specify using format "to220_N")
p"5.0mm"Pin pitch
id"1.0mm"Inner diameter of plated holes
od"1.9mm"Outer diameter of plated holes
w"13mm"Package width
h"7mm"Package height

ssop​

Shrink Small Outline Package (SSOP) footprint.

export default () => (
<board>
<chip footprint="ssop8" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="ssop16" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins8Number of pins in the package
w"3.9mm"Overall package width
p"1.27mm"Pin pitch (center-to-center distance between adjacent pins)
pwcalculatedPin width (calculated from pitch if not specified)
plcalculatedPin length (calculated from pin width if not specified)

sop8​

8-pin Small Outline Package (SOP) footprint.

export default () => (
<chip
name="U1"
footprint="sop8"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins8Fixed at 8 pins
winheritedOverall package width
pinheritedPin pitch
pl"1.5mm"Pin length
pw"0.6mm"Pin width

qfp​

Quad Flat Package (QFP) footprint with configurable number of pins. Add thermalpad for a centered exposed pad, or pass dimensions such as thermalpad3x3mm to size it.

export default () => (
<board>
<chip footprint="qfp32" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="qfp32_thermalpad" name="U2" pcbX={0} pcbY={0} />
<chip footprint="qfp32_thermalpad3x3mm" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins32Total number of pins (must be divisible by 4)
wcalculatedPackage body width
hsame as wPackage body height
p"0.8mm"Pin pitch (center-to-center distance between adjacent pins)
pw"0.25mm"Pin width
pl"0.6mm"Pin length (exposed pad length)
thermalpadnoneCenter exposed thermal pad. Use thermalpad for the default size or thermalpad3x3mm for a custom width and height.

qfn​

Quad Flat No-Lead (QFN) package footprint with configurable number of pins. Add thermalpad for a centered exposed pad, or pass dimensions such as thermalpad3.1x3.1mm to size it.

export default () => (
<board>
<chip footprint="qfn20" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="qfn32_thermalpad" name="U2" pcbX={0} pcbY={0} />
<chip footprint="qfn32_thermalpad3.1x3.1mm" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins20Total number of pins (must be divisible by 4)
wcalculatedPackage body width
hsame as wPackage body height
p"0.5mm"Pin pitch (center-to-center distance between adjacent pins)
pw"0.25mm"Pin width
pl"0.875mm"Pin length (exposed pad length)
thermalpadnoneCenter exposed thermal pad. Use thermalpad for the default size or thermalpad3.1x3.1mm for a custom width and height.

sot23​

Small Outline Transistor (SOT-23) footprint with 3 pins.

export default () => (
<chip
name="U1"
footprint="sot23"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins3Fixed at 3 pins
body_size"2.9mm"Size of the package body
p"0.95mm"Pin pitch
pw"0.4mm"Pin width
pl"0.6mm"Pin length

sot23_5​

Small Outline Transistor (SOT-23-5) footprint with 5 pins.

export default () => (
<chip
name="U1"
footprint="sot23_5"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins5Fixed at 5 pins
body_size"2.9mm"Size of the package body
p"0.95mm"Pin pitch
pw"0.4mm"Pin width
pl"0.6mm"Pin length

sot223​

Small Outline Transistor (SOT-223) footprint with 4 pins.

export default () => (
<chip
name="U1"
footprint="sot223"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins4Fixed at 4 pins
body_size"6.5mm"Size of the package body
p"2.3mm"Pin pitch
pw"0.7mm"Pin width
pl"0.8mm"Pin length

sot363​

6-pin Small Outline Transistor (SOT-363 / SC-88) footprint.

export default () => (
<chip
name="U1"
footprint="sot363"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins6Fixed at 6 pins
w"2.1mm"Overall width across pads
p"0.65mm"Pin pitch
pw"0.3mm"Pad width
pl"0.7mm"Pad length

sot563​

Ultra-compact 6-pin Small Outline Transistor (SOT-563) footprint.

export default () => (
<chip
name="U1"
footprint="sot563"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins6Fixed at 6 pins
w"1.6mm"Package width
p"0.5mm"Pin pitch
pw"0.3mm"Pad width
pl"0.55mm"Pad length

sot723​

Ultra-small 3-pin Small Outline Transistor (SOT-723) footprint.

export default () => (
<chip
name="U1"
footprint="sot723"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins3Fixed at 3 pins
w"1.2mm"Package body width
h"1.2mm"Package body height
pl"0.4mm"Pad length
pw"0.32mm"Pad width

sot89​

Medium-power Small Outline Transistor (SOT-89) footprint with 3 or 5 pins.

export default () => (
<board>
<chip footprint="sot89" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="sot89_5" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins3Number of pins (3 or 5)
w"4.5mm"Package body width
p"1.5mm"Pin pitch

sod123 & sod323​

Small Outline Diode (SOD-123 and SOD-323) two-pad SMD diode footprints.

export default () => (
<board>
<chip footprint="sod123" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="sod323" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefault (sod123 / sod323)Description
w"3.65mm" / "2.5mm"Overall width across pads
h"1.6mm" / "1.25mm"Package body height
pw"1.22mm" / "0.6mm"Pad width
pl"0.91mm" / "0.6mm"Pad length

sma, smb, & smc​

DO-214 surface-mount power diode packages (sma / DO-214AC, smb / DO-214AA, and smc / DO-214AB).

export default () => (
<board>
<chip footprint="sma" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="smb" name="U2" pcbX={0} pcbY={0} />
<chip footprint="smc" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

PackageDefault Pitch (p)Default Pad Width (pw)Default Pad Length (pl)
sma"4.0mm""1.5mm""1.7mm"
smb"4.3mm""2.2mm""2.5mm"
smc"6.85mm""3.2mm""2.2mm"

pushbutton​

4-pin tactile pushbutton switch footprint with configurable width, height, and internally shorted pin pairs.

export default () => (
<board>
<chip footprint="pushbutton" name="U1" pcbX={-7.5} pcbY={0} />
<chip footprint="pushbutton_id1.2mm_od2mm" name="U2" pcbX={7.5} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
w"6.5mm"Horizontal spacing between switch pins
h"4.5mm"Vertical spacing between switch pins
id"1.0mm"Inner drill diameter of plated holes
od"1.8mm"Outer copper diameter of plated holes
tllabel / trlabel / bllabel / brlabeloptionalSilkscreen labels for top-left, top-right, bottom-left, and bottom-right pins

pinrow​

Row of pins suitable for male or female pin headers. If _male or _female is specified the 3d model will update accordingly.

export default () => (
<chip
name="U1"
footprint="pinrow4"
/>
)
PCB Circuit Preview

Parameters:

ParameterDefaultDescription
num_pins6Number of pins
p"0.1in"Pin pitch
id"1.0mm"Inner diameter
od"1.5mm"Outer diameter
rows1Number of rows (single- or double-row headers)
maletrueMale header
femalefalseFemale header
smdfalseSurface mount device
rightanglefalseRight angle configuration
pw"1.0mm"Pad width for SMD
pl"2.0mm"Pad length for SMD
pinlabeltextalignleftfalseAlign pin labels to the left
pinlabeltextaligncenterfalseAlign pin labels to the center
pinlabeltextalignrightfalseAlign pin labels to the right
pinlabelverticallyinvertedfalseVertically invert pin labels
pinlabelorthogonalfalseMake pin labels orthogonal
nosquareplatingfalseDo not use rectangular pad for pin 1
nopinlabelsfalseOmit silkscreen pin labels
doublesidedpinlabelfalseAdd silkscreen pins in top and bottom layers
bottomsidepinlabelfalsePlace silkscreen reference text on bottom layer

melf, micromelf, & minimelf​

MELF (Metal Electrode Leadless Face) cylindrical surface-mount packages (melf, micromelf, and minimelf).

export default () => (
<board>
<chip footprint="melf" name="U1" pcbX={-15} pcbY={0} />
<chip footprint="micromelf" name="U2" pcbX={0} pcbY={0} />
<chip footprint="minimelf" name="U3" pcbX={15} pcbY={0} />
</board>
)
PCB Circuit Preview

Parameters (micromelf / minimelf):

Parametermicromelf Defaultminimelf DefaultDescription
num_pins22Number of pins (fixed at 2)
w"3.0mm""5.40mm"Package width
h"1.80mm""2.30mm"Package height
pl"0.80mm""1.30mm"Pad length
pw"1.20mm""1.70mm"Pad width
p"1.6mm""3.5mm"Pin pitch