100nF

Resistor codes: colour bands, SMD digits and EIA-96

How to read every resistor marking, why the E-series values look arbitrary, and which codes are genuinely ambiguous — with the tolerance derived, not looked up.

Four schemes cover almost every resistor you will meet, and three of them share the same handful of characters:

colour bands   4, 5 or 6      digits, multiplier, tolerance, tempco
3-digit SMD    103            two figures and a power of ten   = 10 kΩ
4-digit SMD    1002           three figures and a power of ten = 10 kΩ
EIA-96         01C            an index into E96, and a decade  = 10 kΩ

The resistor decoder reads all of them, and the capacitor code decoder does the same job for the three-digit codes on ceramics. What follows is the part a decoder cannot do for you: which reading is right when a marking is ambiguous, why the stocked values are the odd numbers they are, and when the tolerance printed on the part stops being the largest error in it.

Three axial resistors drawn one above another with four, five and six colour bands, each labelled with what its bands mean: significant digits, a multiplier, a tolerance and in the six-band case a temperature coefficient.
Fig 1 — The three band counts, and what changes between them. Going from four bands to five adds a third significant digit, not more range; the sixth band is a temperature coefficient. Every one of them reads left to right with the tolerance band last, which is the part that has to be established before any of it means anything.

Reading direction is the failure that gives a wrong answer

Colour bands have no built-in orientation, and reading a resistor backwards does not produce nonsense — it produces a different, entirely plausible value. Green-blue-red-gold is 5.6 kΩ ±5 %; the same part turned round reads gold-red-blue-green, which decodes as 2.6 MΩ if you ignore that gold cannot be a first digit.

Three cues resolve it:

  • The gap. On most parts the space before the tolerance band is wider than the spaces between the others.
  • Gold and silver. Neither is a digit. They appear only as a multiplier (×0.1, ×0.01) or a tolerance (±5 %, ±10 %), so a gold or silver band is almost always the last one.
  • The body colour. Beige bodies tend to be 4-band carbon film; blue or grey bodies tend to be 5-band metal film. This is a convention, not a standard.

None of them survives a part that has been hot, and the first two both fail on a 5-band ±1 % resistor whose tolerance band is brown — the same brown that is a perfectly good first digit. Which is why the procedure ends with a meter.

Two resistors with the same band colours read from opposite ends, giving completely different values, alongside the three cues that resolve the ambiguity: the wider gap before the tolerance band, gold and silver appearing only as tolerance or multiplier, and the body colour.
Fig 2 — The failure that produces a wrong answer rather than no answer. The same four bands read backwards give a different, entirely plausible value. Three cues resolve it, and none of them is reliable on its own — which is why the honest procedure ends with a meter.

The values are not arbitrary, and they are not quite geometric either

E12, E24 and E96 come from IEC 60063, and the idea behind them is a geometric progression: NN values per decade, each a factor 101/N10^{1/N} above the last. For E24 that ratio is 1.1007, so the ideal series would run 10, 11.01, 12.12, 13.34, 14.68, …

The published series is not simply those numbers rounded to two significant figures, and the difference is not small. Comparing each E24 value with its ideal:

value   ideal    error
   11   11.01   −0.06 %
   13   13.34   −2.51 %
   30   28.73   +4.42 %
   33   31.62   +4.36 %
   47   46.42   +1.26 %
   91   90.85   +0.17 %

Rounding 10⋅10n/2410 \cdot 10^{n/24} to two figures would give 26, 29, 32, 35, 38, 42, 46 and 83 where E24 has 27, 30, 33, 36, 39, 43, 47 and 82 — eight of the twenty-four values. E24 is a conventional table, not a computed one. The run from 27 to 47 sits systematically high because E24 contains E12 as every other value, and E12 is not the rounded progression either: 27, 33, 39, 47 and 82 are E12 values, and the exact points would be 26.1, 31.6, 38.3, 46.4 and 82.5. The three E24-only values between them — 30, 36 and 43 — sit close to the geometric mean of their E12 neighbours (29.9, 35.9 and 42.8) rather than on the ideal curve.

The worst, 30, is 4.4 % above where a true geometric series would put it — which is nearly the whole ±5 % tolerance the series is sold with. E96 is different in kind: every one of its 96 values is exactly 100⋅10n/96100 \cdot 10^{n/96} rounded to three significant figures, so nothing in it is more than 0.43 % from ideal — which is part of why the precision series is the one worth relying on if a ratio matters.

The published E24 values plotted against the ideal geometric series ten to the power n over twenty-four, with the percentage deviation of each. Several values differ from the ideal by more than four per cent.
Fig 3 — The E24 series is not quite geometric, and it is not the rounded progression either: eight of its values differ from 10^(n/24) rounded to two figures, and the worst, 30, sits 4.4 % above the ideal 28.7 — comparable to the ±5 % tolerance the series pairs with. The distortion comes in with E12, which is every other E24 value and is not the rounded series either: 33 and 47 are E12 values, not the ideal 31.6 and 46.4.

Why E24 comes with 5 % and E96 with 1 %

The pairing looks like a marketing convention and is not. It falls out of one requirement: adjacent values’ tolerance bands should just meet, so that every resistance in the decade is covered by some stocked part and none is covered twice.

If neighbouring values differ by a factor r=101/Nr = 10^{1/N}, and each carries a tolerance ±t\pm t, then the upper edge of one meets the lower edge of the next when v(1+t)=vr(1−t)v(1+t) = vr(1-t), which rearranges to

t=r−1r+1=101/N−1101/N+1t = \frac{r - 1}{r + 1} = \frac{10^{1/N} - 1}{10^{1/N} + 1}

Evaluating it against what each series is actually sold at:

series   derived    sold at
E6        18.96 %    ±20 %
E12        9.56 %    ±10 %
E24        4.79 %    ±5 %
E48        2.40 %    ±2 %
E96        1.20 %    ±1 %
E192       0.60 %    ±0.5 %

Every pairing lands within a fraction of a point — and the small discrepancies matter, because the coarse series are tables of two-figure values rather than the exact progression. Drawing the tolerance bands on the number line shows where they do not quite meet. E12 at ±10 % has two gaps, between 12 and 15 and between 22 and 27; E24 at ±5 % has seven, and the widest, between 13 and 15, runs from 13.65 to 14.25 — resistances no stocked part at that tolerance is guaranteed to reach. E96 at ±1 % is the opposite case: its bands would meet at 1.20 %, so at ±1 % they are narrower than the step almost everywhere, and a hairline gap separates all but four adjacent pairs. The ±1 % bands cover 83 % of the decade, and the gaps are the point — the sold tolerance is tighter than the one that would make the bands touch. The consequence is still worth stating plainly: the series and the tolerance are one decision, not two. The E-series finder searches a chosen grid for the closest single value, series pair or parallel pair to any target, and shows what each one misses by. Buying 1 % parts from an E24 reel throws away most of the precision, because the value grid is too coarse to place the tighter band anywhere useful. And asking for a value between two E24 values is really asking for a tighter tolerance.

The tolerance at which adjacent values in a series just touch, plotted against the number of values per decade, with the standard tolerance of each E-series marked beside the derived figure. They agree closely.
Fig 4 — Why E24 is sold at 5 % and E96 at 1 %, derived rather than looked up. Adjacent values differ by a factor 10^(1/N); for their tolerance bands to meet without a gap, the tolerance must be (10^(1/N) − 1)/(10^(1/N) + 1). Every standard pairing falls within a fraction of a point of that.
A logarithmic number line across one decade with the tolerance bands of E12, E24 and E96 values drawn as intervals, showing where adjacent bands meet and where they leave gaps: two in E12 at ±10 %, seven in E24 at ±5 %, and a hairline gap between almost every E96 pair at ±1 %.
Fig 5 — The same result drawn on the number line, and it is worth looking at closely. E12 at ±10 % leaves two gaps, at 12–15 and 22–27; E24 at ±5 % leaves seven, the widest between 13 and 15, where the table departs from the progression Fig 3 measured. E96 at ±1 % is different: its bands would meet at 1.20 %, so at the tighter ±1 % they cover 83 % of the decade and a hairline gap separates almost every adjacent pair — by design, because the sold tolerance is tighter than the meeting one.

The SMD codes, and the one that is not a code

Three-digit and four-digit markings are direct encodings: the last character is the exponent and the rest are significant figures. 103 is 10 × 10³ = 10 kΩ. 1002 is 100 × 10² = 10 kΩ. An R marks a decimal point for values under 10 Ω, so 4R7 is 4.7 Ω and R22 is 0.22 Ω.

EIA-96 is different in kind. 01C does not encode 10 kΩ — the 01 is a position in the 96-value E96 table, which happens to hold 100, and the C is a decade multiplier of ×100. To read it you need the table.

The reason for that indirection is a character count. A 1 % part needs three significant figures, and a three-digit code carries two. There is no way to write 1.02 kΩ in three digits, because 102 already means 1 kΩ. Four digits solve it and do not fit on an 0402. So the industry gave up on encoding and started indexing.

Four chip resistors drawn with the marking schemes used on them: a three-digit code, a four-digit code, the R notation for values below ten ohms and an EIA-96 code, each decoded beside it.
Fig 6 — The four schemes that share the same three or four characters. The first three encode the value directly; EIA-96 does not encode it at all, it indexes a table — which is the only way to fit three significant figures into three characters.
A comparison of how many distinct values each marking scheme can express in a decade against how many the resistor series actually needs, showing that the three-digit code cannot express the E96 series at all.
Fig 7 — Why EIA-96 had to be invented. A three-digit code carries two significant figures, which is exactly enough for E24 and hopelessly short for E96: 1.02 kΩ cannot be written at all, because "102" already means 1 kΩ. Four digits solve it and do not fit on an 0402, so the industry indexed the table instead.
The EIA-96 scheme laid out: a two-digit index into the ninety-six value E96 series, and a letter giving the decade multiplier, with the table of letters.
Fig 8 — EIA-96 in full. The two digits are a position in the E96 table, not the value; the letter is the decade. Several letters have two accepted spellings, which is the scheme's one real trap — R and Y both mean ×0.01, and S and X both mean ×0.1.

The markings that are genuinely ambiguous

Nothing on a chip resistor says which scheme it uses. These are the cases where the characters alone do not settle it, and how the decoder resolves each:

  • 10R — 10 Ω, R as a decimal point. Read as EIA-96 it would be index 10 (124) times ×0.01, or 1.24 Ω. The R-notation reading wins because it is overwhelmingly more common; the decoder tries it first and says so.
  • 102 — 1 kΩ. It cannot mean 1.02 kΩ; that value has no three-digit representation, which is what EIA-96 exists to fix.
  • 1002 — 10 kΩ, four-digit. A four-character marking needs an 0603 or larger, so package size is itself a clue.
  • 000 or 0 — a zero-ohm link, deliberately fitted. Not a missing part, and worth checking before assuming an assembly error.
  • 10K — not a marking at all. K and M are units, not EIA-96 decade letters, so this is somebody’s handwriting or a schematic reference. A 10 kΩ 1 % chip is marked 01C; a 10 kΩ 5 % chip is marked 103.

The letter spellings inside EIA-96 add their own small trap: R and Y both mean ×0.01, and S and X both mean ×0.1. Different vendors use different halves of those pairs.

A table of chip markings that can be read more than one way, with the reading that is almost always correct and the one that is not.
Fig 9 — The markings that are genuinely ambiguous, and how the calculator resolves each. None of these is resolved by the characters alone; all of them are resolved by knowing the part's tolerance, which is on the reel and not on the part.

When the tolerance stops being the error

The number printed on the part is its tolerance at the temperature it was measured at. Drift adds to it, and the arithmetic is one division:

ΔTequal=tolerancetemperature coefficient\Delta T_{\text{equal}} = \frac{\text{tolerance}}{\text{temperature coefficient}}

0.1 %,  25 ppm/°C     40 °C
0.1 %,  50 ppm/°C     20 °C
  1 %,  50 ppm/°C    200 °C
  1 %, 100 ppm/°C    100 °C
  5 %, 200 ppm/°C    250 °C

A 0.1 % part with an ordinary 25 ppm/°C coefficient has spent its entire tolerance by 40 °C above where it was calibrated — which is less than the −40 to +85 °C span the rest of the board is specified over. Buying a tighter tolerance without buying a tighter temperature coefficient buys almost nothing.

This is also why a precision divider is specified by its tracking rather than by either resistor’s tolerance: two resistors in the same package, at the same temperature, drift together, and their ratio holds far better than either value does. The voltage divider calculator works the loading and the power out; the ratio stability is a part-selection question, and it is answered by a matched network rather than by two good resistors.

The temperature change at which drift equals the initial tolerance, plotted for several tolerance and temperature-coefficient combinations. Precision parts run out of tolerance within a few tens of degrees.
Fig 10 — Where the tolerance band stops being the error. Drift is the temperature coefficient times the temperature change, so a 0.1 % part with a 25 ppm/°C coefficient has spent its whole tolerance by 40 °C above where it was measured. A 5 % thick-film part at 200 ppm/°C survives 250 °C of change on paper and something else fails first.
The absolute spread a tolerance represents at several resistance values, shown as the range of values a batch will contain, alongside the nearest neighbouring stocked values.
Fig 11 — What a tolerance band actually contains. A ±5 % 10 kΩ part is anything from 9.5 kΩ to 10.5 kΩ, and the neighbouring E24 values are 9.1 kΩ and 11 kΩ — so the bands very nearly touch, exactly as Fig 4 says they should. Specifying 10.2 kΩ from an E24 reel is asking for a part that does not exist.

Reading an unknown part

A four-step procedure for identifying an unknown resistor: establish the reading direction, count the bands or characters, decode, then confirm with a meter.
Fig 12 — The order, and the last step is not optional. Every ambiguity on this page produces a plausible wrong answer rather than an obvious failure, so the decode is a hypothesis and the meter is the test.
  1. Establish the direction before reading anything. The wider gap, or the gold or silver band, marks the tolerance end.
  2. Count. Four, five or six bands; three or four characters. A letter in a chip marking means EIA-96 unless it is an R.
  3. Decode in order: significant digits, then the power of ten, then the tolerance.
  4. Measure it. Out of circuit, because in circuit you are measuring the parallel combination of the resistor and everything else on the node.

That last step is not a formality. Every ambiguity on this page produces a plausible wrong answer rather than an obvious failure, so a decode is a hypothesis and the meter is the test. And the meter has its own trap: in circuit, a reading below the decoded value is far more often the parallel path — a second resistor, a protection diode, a winding, a supply rail — than a part out of tolerance, which is why step 4 says out of circuit.

Work any marking out with the resistor decoder, which applies the precedences above and reports which rule it used, and refuses codes that have no valid reading rather than guessing at one.