Chris Collins

Tools · electronics

Wire harness designer

Design a wire harness — connectors from a library of common families (JST, Dupont, Molex, Deutsch DT, XT30/60/90, M8/M12, RJ45, D-sub, screw terminals), wires with colours, gauges, lengths, pairs and shields, splices and sleeves — and get the WireViz-style diagram, pin-outs with face views, a BOM with housings and crimp terminals, a cut list, a voltage-drop check, and cable flags for the label maker. Imports and exports WireViz YAML.

Added

Works with

How to use it

Lay out a harness the way you’d build it: the connectors, the wires between their pins, and what goes round them. The diagram and the lists that a build needs — what to order, what to cut, what to label — come from the same description, and the checks catch the pin that has two wires on it before the crimper does.

How to use it

  1. Connectors — pick a family and a pin count and press + Connector. Each one gets a name (X1, X2…), a gender, a note for where it goes, and a signal name per pin. The families:

    JST XH, PH, SH, GH

    2.5, 2.0, 1.0 and 1.25 mm pitch — XHP, PHR, SHR and GHR housings with their crimp terminals

    Dupont 2.54 mm

    the common hobby housings and female crimps

    Molex KK 254, Micro-Fit 3.0, Mini-Fit Jr.

    single or dual row; dual row is numbered along one row, then the other

    Deutsch DT

    2, 3, 4, 6, 8 and 12 way; plug (DT06, sockets) or receptacle (DT04, pins), wedgelocks, cavity plugs for unused cavities

    Amass XT30, XT60, XT90

    solder cups, + and −

    M8, M12 (A-coded)

    M8 3-pin is pins 1, 3, 4; sensor cable colours brown, white, blue, black, grey

    RJ45 (8P8C)

    T568B colours

    D-sub

    DE-9, DA-15, DB-25, crimp contacts

    Screw terminal 5.08 mm

    ferrules sized to each wire

    Splice, ring terminal, generic

    a splice takes any number of wires

    Each connector shows its face — where the numbered cavities are, from the mating side or the wire side — schematically: check the maker’s drawing for the exact part.

  2. Wires and cables — + Bundle of wires for separate wires laid together, + Multi-core cable for a jacketed cable. Set the gauge (AWG or mm²), the length, a shield, twisted pairs (1+2, 3+4), and for each wire its colour and stripe, the pin at each end, a signal name and the current it carries.

  3. Sleeves and loom — braided sleeving, spiral wrap or tape over part of the run, with its length.

  4. Checks — above the diagram: a wire to a pin the connector hasn’t got, to a connector that isn’t there, two wires on one pin (a splice takes many), loose ends, a gauge the family’s terminals don’t take, twisted pairs that name missing cores.

  5. Diagram — every connector as a table of pins and signals with the wires between them in their own colours (the stripe dashed over the base), each labelled with its gauge and length, as WireViz draws it. ⬇ SVG saves it.

  6. BOM — housings by family and pin count, crimp terminals for the pins in use plus a spare percentage, wedgelocks and cavity plugs, ferrules by size, wire by gauge and colour (or cable by type) as cut, heat-shrink markers sized to the wire, and sleeving. Cut list — every wire, thickest gauge first then by colour, with its cut length (length plus an allowance at each end) and strip length.

  7. Current & voltage drop — for each wire with a current: its resistance, the drop along it, the share of the supply voltage, the power lost and the current density, with warnings past the limits in Settings.

  8. Labels — a cable flag for each end of each wire: the wire, its signal, where it runs and the diameter it wraps round. Open in Label maker sends them to the label maker's cable-flag template to print on a Niimbot.

WireViz

WireViz describes harnesses in YAML. Import… (or Paste) reads the common part of it: connectors with type, subtype, pincount, pins, pinlabels, notes and style: simple; cables with wirecount, colors or color_code (DIN, IEC, T568A/B), gauge in mm² or AWG, length, shield, category: bundle, type, wirelabels; connections between them by pin number, range (1-4) or pin label, wires by number, colour or s for the shield, and simple connectors made for each wire (F.). YAML anchors and << templates work. ⬇ WireViz YAML writes a file WireViz itself draws; twisted pairs go in the cable’s notes (Twisted pairs: 3+4), where an import finds them again. ⬇ JSON saves everything, currents and sleeves included.

How it works

  • Resistance R = ρ × L ÷ A with copper’s ρ = 0.01724 Ω·mm²/m at 20 °C, rising 0.393 % per °C. The drop is I × R along the one wire — the return wire drops as much again. AWG areas come from the definition d = 0.127 mm × 92^((36 − n)/39): 18 AWG is 1.024 mm and 0.823 mm², 20.9 mΩ/m.

  • The current-density warning (8 A/mm² by default) is a rough figure for wires bundled in a harness, not an ampacity rating. For ampacity tables see wire gauge and NEC ampacity and PCB traces and wiring, which also has a cable voltage-drop calculator. Connector pin-outs for standard ports are in connector pinouts.

  • Heat-shrink: the smallest 2:1 size that slides over the wire’s outside diameter (estimated for PVC hook-up wire) and still grips it when shrunk.

  • The tests check WireViz import on WireViz’s own first example and round trips (import, export, import gives the same harness), the BOM totals, the voltage-drop arithmetic against known gauges, and the pin checks. Exports were drawn by WireViz 0.4.1 itself, and its examples and tutorials import and export without loss.

Browser support

Any current browser. Nothing to install.

Privacy

Nothing leaves the browser. The harness and your settings are kept in this browser’s local storage; files are read and saved on your device. Open in Label maker writes the labels into the label maker’s storage in this same browser.

Runs entirely in your browser; nothing you type leaves this page.