{
  "id": "trace-width",
  "version": "b3b195a1f917",
  "status": "published",
  "name": "Trace Width Calculator",
  "question": "What trace width do I need?",
  "summary": "Works out the minimum width of a printed circuit board trace for a current, a temperature rise and a copper thickness, on an outer or inner layer, from the IPC-2221 formula.",
  "category": "physics",
  "subcategory": "electricity",
  "url": "https://www.acalculator.org/physics/trace-width-calculator",
  "markdown": "https://www.acalculator.org/physics/trace-width-calculator.md",
  "kind": "function",
  "method": "A (mil²) = (I ÷ (k × ΔT^0.44))^(1 ÷ 0.725), k = 0.048 (outer layer) or 0.024 (inner layer). Thickness (mil) = oz × 1.378. Width = A ÷ thickness; mm = mil × 0.0254.",
  "assumptions": [
    "IPC-2221 is a curve fit to old measurements of bare traces in still air; it is a starting point, often conservative for inner layers. Planes, nearby copper and airflow change the real temperature.",
    "The charts behind the fit cover currents up to 35 A, widths up to 400 mil, rises of 10 to 100 °C and 0.5 to 3 oz copper; outside that range treat the answer with care."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "i": {
        "title": "Current",
        "description": "The current the trace must carry.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "current",
        "minimum": 0.001,
        "maximum": 100
      },
      "dt": {
        "title": "Temperature rise (°C)",
        "description": "How much hotter than the surroundings the trace may get, in °C. 10 °C is a common choice.",
        "type": "number",
        "minimum": 1,
        "maximum": 100
      },
      "oz": {
        "title": "Copper weight (oz/ft²)",
        "description": "The copper thickness as weight per square foot: 1 oz is 35 µm (1.378 mil).",
        "type": "number",
        "minimum": 0.25,
        "maximum": 10
      },
      "layer": {
        "title": "Layer",
        "description": "An outer layer cools in the air; an inner layer is buried in the board and needs a wider trace.",
        "type": "string",
        "enum": [
          "external",
          "internal"
        ]
      }
    }
  },
  "outputs": {
    "width": {
      "label": "Minimum width (mil)",
      "description": "The narrowest trace that meets the rise, in mils (thousandths of an inch).",
      "format": "number"
    },
    "mm": {
      "label": "Minimum width (mm)",
      "description": "The same width in millimetres (1 mil = 0.0254 mm).",
      "format": "number"
    },
    "area": {
      "label": "Cross-section (mil²)",
      "description": "The copper cross-section area the current needs, in square mils.",
      "format": "number"
    },
    "thickness": {
      "label": "Copper thickness (mil)",
      "description": "Copper weight × 1.378 mil.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "i": "1 A",
      "dt": 10,
      "oz": 1,
      "layer": "external"
    },
    "outputs": {
      "width": 11.825835520471326,
      "mm": 0.3003762222199717,
      "area": 16.296001347209486,
      "thickness": 1.378
    },
    "text": "Use a trace at least 11.83 mils (0.3004 mm) wide."
  },
  "examples": [
    {
      "given": {
        "i": 1,
        "dt": 10,
        "oz": 1,
        "layer": "external"
      },
      "expect": {
        "width": 11.825835520471326,
        "mm": 0.3003762222199717,
        "area": 16.296001347209486
      },
      "source": "Salitronic, \"PCB trace width calculator and guidelines\" (IPC-2221: I = k × ΔT^0.44 × A^0.725, k = 0.048 external, 0.024 internal, A in mil²; 1 oz copper = 35 µm), https://salitronic.com/kb/pcb-trace-width/ (retrieved 2026-10-05); Advanced Circuits, \"PCB trace width calculator\" (width = area ÷ (oz × 1.378 mil); the IPC-2221 charts cover up to 35 A, 400 mil, 10 to 100 °C rise, 0.5 to 3 oz), https://www.advancedpcb.com/en-us/tools/trace-width-calculator/ (retrieved 2026-10-05); hand calculation in content.mdx: (1 ÷ (0.048 × 10^0.44))^(1/0.725) = 16.30 mil² ÷ 1.378 mil = 11.83 mil",
      "tolerance": 1e-9
    },
    {
      "given": {
        "i": 5,
        "dt": 20,
        "oz": 2,
        "layer": "internal"
      },
      "expect": {
        "width": 92.9861180133203,
        "area": 256.2697412447107
      },
      "source": "Salitronic, \"PCB trace width calculator and guidelines\" (IPC-2221: I = k × ΔT^0.44 × A^0.725, k = 0.048 external, 0.024 internal, A in mil²; 1 oz copper = 35 µm), https://salitronic.com/kb/pcb-trace-width/ (retrieved 2026-10-05); Python 3 cross-check in docs/progress/WP-114/xcheck.py",
      "tolerance": 1e-9
    },
    {
      "given": {
        "i": 10,
        "dt": 10,
        "oz": 1,
        "layer": "external"
      },
      "expect": {
        "width": 283.2319087512239,
        "mm": 7.194090482281086
      },
      "source": "Salitronic, \"PCB trace width calculator and guidelines\" (IPC-2221: I = k × ΔT^0.44 × A^0.725, k = 0.048 external, 0.024 internal, A in mil²; 1 oz copper = 35 µm), https://salitronic.com/kb/pcb-trace-width/ (retrieved 2026-10-05); Python 3 cross-check in docs/progress/WP-114/xcheck.py",
      "tolerance": 1e-9
    }
  ],
  "sources": [
    "Salitronic, \"PCB trace width calculator and guidelines\": IPC-2221, I = k × ΔT^0.44 × A^0.725 with k = 0.048 external and 0.024 internal, A in mil²; 1 oz copper is 35 µm. https://salitronic.com/kb/pcb-trace-width/ (retrieved 2026-10-05)",
    "Advanced Circuits, \"PCB trace width calculator\": width = area ÷ (oz × 1.378 mil), and the chart ranges (up to 35 A and 400 mil, 10 to 100 °C, 0.5 to 3 oz). https://www.advancedpcb.com/en-us/tools/trace-width-calculator/ (retrieved 2026-10-05)"
  ],
  "related": [
    "ohms-law",
    "amp",
    "voltage-drop"
  ],
  "changelog": []
}
