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
- Label maker for Niimbot printers Images and retro graphicsprints the cable flag labels this page sends it
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
-
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.
-
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. -
Sleeves and loom — braided sleeving, spiral wrap or tape over part of the run, with its length.
-
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.
-
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.
-
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.
-
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.
-
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.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.