Electrical Engineering Calculator

Resistor Color Code Calculator

Decode 4, 5, and 6 band resistor color codes into resistance, tolerance range, and temperature coefficient, with a live resistor preview.

Resistor Preview

Live band rendering based on your color selection

Band Count

Color Bands

Digit 1Yellow
Digit 2Violet
MultiplierRed
ToleranceGold
Material Note

Material properties can vary significantly based on heat treatment and manufacturer. Always consult specific supplier datasheets for critical components.

Resistance

4.7 kΩ

±5% tolerance

Resistor Results

Tolerance Range

4.46 kΩ – 4.93 kΩ

Minimum – maximum resistance

Tolerance

±5%

Manufacturer accuracy rating

Governing Formula

R = (D1 × 10 + D2) × Multiplier
D1, D2, D3Value 0–9

Significant digit bands

Multiplier×0.01 – ×1,000,000,000

Power-of-ten multiplier band

RΩ

Nominal resistance

Band Legend

Black — digit 0
Brown — digit 1
Red — digit 2
Orange — digit 3
Yellow — digit 4
Green — digit 5
Blue — digit 6
Violet — digit 7
Gray — digit 8
White — digit 9

Engineering Code

Equivalent implementation of the resistor color code decoder.

Python
# Resistor color code decoder
# Digit value:   black=0 ... white=9
# Multiplier:    black=1, brown=10, red=100, ... gold=0.1, silver=0.01
# Tolerance (%): brown=1, red=2, green=0.5, blue=0.25, violet=0.1, gray=0.05, gold=5, silver=10, none=20

def decode_resistor(digits, multiplier, tolerance_pct):
    """
    digits: list of 2 or 3 significant digit values, e.g. [4, 7] or [4, 7, 0]
    multiplier: multiplier factor, e.g. 100
    tolerance_pct: tolerance in +/- percent, e.g. 5
    """
    significant = 0
    for d in digits:
        significant = significant * 10 + d

    resistance = significant * multiplier
    r_min = resistance * (1 - tolerance_pct / 100)
    r_max = resistance * (1 + tolerance_pct / 100)

    return resistance, r_min, r_max


# Example bands: Yellow-Violet-Red-Gold
digits = [4, 7]
multiplier = 100
tolerance_pct = 5

resistance, r_min, r_max = decode_resistor(digits, multiplier, tolerance_pct)
print(f"Resistance: {resistance:,.2f} Ohm")
print(f"Range: {r_min:,.2f} - {r_max:,.2f} Ohm")
MATLAB
function [resistance, r_min, r_max] = decode_resistor(digits, multiplier, tolerance_pct)
    % Resistor color code decoder
    % digits: vector of 2 or 3 significant digit values, e.g. [4 7]
    % multiplier: multiplier factor, e.g. 100
    % tolerance_pct: tolerance in +/- percent, e.g. 5

    significant = 0;
    for d = digits
        significant = significant * 10 + d;
    end

    resistance = significant * multiplier;
    r_min = resistance * (1 - tolerance_pct / 100);
    r_max = resistance * (1 + tolerance_pct / 100);
end

% Example bands: Yellow-Violet-Red-Gold
digits = [4 7];
multiplier = 100;
tolerance_pct = 5;

[resistance, r_min, r_max] = decode_resistor(digits, multiplier, tolerance_pct);
fprintf('Resistance: %.2f Ohm\n', resistance);
fprintf('Range: %.2f - %.2f Ohm\n', r_min, r_max);

Technical Explanation: Resistor Color Codes

Fixed through-hole resistors are marked with colored bands rather than printed numerals because printed labels are easily abraded, chemically degraded, or rendered illegible on small-diameter components. The resistor color code system, standardized under IEC 60062 (formerly IEC 62), encodes the nominal resistance value, manufacturing tolerance, and optionally the temperature coefficient directly on the resistor body using a sequence of colored rings. This calculator decodes 4-band, 5-band, and 6-band resistor color codes in accordance with IEC 60062, providing resistance in ohms, tolerance percentage, and temperature coefficient in ppm/K.

Governing Formulas: Significant Digits and Multiplier

For a 4-band resistor, the first two bands represent significant digits (D1, D2), the third band is a power-of-ten multiplier (M), and the fourth band indicates tolerance (T):

R = (D1 × 10 + D2) × M

For example, Yellow-Violet-Orange-Gold corresponds to D1 = 4, D2 = 7, M = 10³, T = ±5%, yielding R = 47 × 1,000 = 47,000 Ω = 47 kΩ ±5%.

For a 5-band resistor, a third significant digit (D3) is added for finer resolution, common in 1% and tighter tolerance resistors:

R = (D1 × 100 + D2 × 10 + D3) × M

For example, Brown-Black-Black-Red-Brown corresponds to D1 = 1, D2 = 0, D3 = 0, M = 10², T = ±1%, yielding R = 100 × 100 = 10,000 Ω = 10 kΩ ±1%.

A 6-band resistor appends a sixth band specifying the temperature coefficient (α) in parts per million per kelvin (ppm/K or ppm/°C):

ΔR/R ≈ α × ΔT (for small temperature changes)

where ΔT is the temperature deviation from the reference (typically 25°C). A 100 ppm/K resistor changes by 0.01% per °C; over a 50°C range, a 10 kΩ resistor could drift by approximately ±50 Ω.

Color Code Tables (IEC 60062)

The standard color-to-digit, multiplier, tolerance, and temperature coefficient mappings are:

ColorDigitMultiplierToleranceTemp. Coeff. (ppm/K)
Black0×10⁰ (1)——
Brown1×10¹ (10)±1%100
Red2×10² (100)±2%50
Orange3×10³ (1k)—15
Yellow4×10⁴ (10k)—25
Green5×10⁵ (100k)±0.5%—
Blue6×10⁶ (1M)±0.25%10
Violet7×10⁷ (10M)±0.1%5
Gray8—±0.05%—
White9———
Gold—×10⁻¹ (0.1)±5%—
Silver—×10⁻² (0.01)±10%—

Multipliers of Gold (×0.1) and Silver (×0.01) enable representation of resistances below 10 Ω, such as 4.7 Ω (Yellow-Violet-Gold) or 0.47 Ω (Yellow-Violet-Silver).

Input Parameters and Physical Meaning

Each color band corresponds to a specific parameter in the resistor specification:

  • Significant digit bands (D1, D2, D3): Define the mantissa of the resistance value. More digits (5-band vs 4-band) provide finer granularity, e.g., 1.00 kΩ vs 1.0 kΩ.
  • Multiplier band (M): Scales the significant digits by a power of ten (or fractional factor for Gold/Silver). Determines the order of magnitude (Ω, kΩ, MΩ).
  • Tolerance band (T): Specifies the permissible deviation from nominal resistance at 25°C, expressed as a percentage. Common values: ±5% (Gold), ±1% (Brown), ±0.1% (Violet).
  • Temperature coefficient band (α, 6-band only): Indicates the maximum change in resistance per degree Celsius, in ppm/K. Lower values (e.g., 10–25 ppm/K) denote precision metal-film resistors; higher values (100–200 ppm/K) are typical for carbon-film.

Common mistakes include misidentifying the reading direction (tolerance band is typically wider and spaced further from the others), confusing similar colors (Red vs Orange, Violet vs Blue) under poor lighting, or neglecting the third digit on 5-band resistors.

Engineering Interpretation of Decoded Values

The decoded resistance, tolerance, and temperature coefficient inform several design considerations:

  • Nominal resistance (R): Sets the operating point in voltage dividers, bias networks, current-sense shunts, and feedback loops. Must be selected to achieve desired gain, time constant (τ = RC), or current limit.
  • Tolerance (T): Determines worst-case circuit variation. A 10 kΩ ±5% resistor can range from 9.5 kΩ to 10.5 kΩ; in precision analog circuits, ±1% or ±0.1% may be required to maintain accuracy.
  • Temperature coefficient (α): Critical for circuits operating over wide temperature ranges (e.g., automotive, industrial). A 100 ppm/K resistor changes by 1% over a 100°C swing; precision references may require 5–10 ppm/K.
  • Power rating (not encoded): Color codes do not indicate power dissipation capability (e.g., 1/4 W, 1/2 W, 1 W). This must be determined from component size, datasheet, or circuit context.

Note that color decoding provides only the manufacturer's nominal specification. Actual resistance should be verified with a calibrated multimeter, especially for aged, overheated, or surplus components.

Reading Direction and Band Identification

Correct interpretation requires identifying the proper reading direction:

  • Tolerance band spacing: The tolerance band (and temperature coefficient band on 6-band resistors) is typically spaced further from the other bands and located closer to one end of the resistor body.
  • Reading order: Start from the band closest to a lead, reading significant digits first, then multiplier, then tolerance, then temperature coefficient (if present).
  • Gold/Silver as multiplier: If Gold or Silver appears in the multiplier position (third band on 4-band, fourth on 5-band), it indicates a fractional multiplier (×0.1 or ×0.01), not a tolerance.
  • No tolerance band: Resistors with only three visible bands are assumed to have ±20% tolerance (old carbon composition or low-precision types).

When in doubt, measure the resistance with a multimeter and compare against standard E-series values (E12, E24, E48, E96, E192) to infer the intended nominal value.

Assumptions and Limitations

This calculator implements the IEC 60062 standard under the following assumptions:

  • Standard color mapping: Uses IEC 60062 digit, multiplier, tolerance, and temperature coefficient assignments. Military or manufacturer-specific codes (e.g., old MIL-R-11) are not supported.
  • Ideal color perception: Assumes colors are correctly identified. In practice, discoloration due to heat, UV exposure, or contamination can lead to misreading.
  • 25°C reference: Tolerance and nominal resistance are specified at 25°C. Actual resistance at operating temperature depends on the temperature coefficient and self-heating.
  • No power rating: Color codes do not encode power dissipation capability. Physical size (e.g., axial lead spacing, body diameter) must be used to infer wattage.
  • Linear temperature dependence: The ppm/K specification assumes approximately linear resistance change over temperature. Nonlinear effects (e.g., in thermistors) are not represented.

This tool is intended for decoding standard through-hole resistors. Surface-mount resistors use alphanumeric markings (EIA-96, 3-digit, 4-digit codes) and require different decoding methods.

Practical Engineering Applications

Typical applications of resistor color code decoding include:

  • PCB assembly and repair: Identifying component values during manual soldering, rework, or failure analysis on through-hole boards.
  • Education and training: Teaching electronics fundamentals, color code memorization, and component identification in laboratories and workshops.
  • Surplus and vintage electronics: Decoding unmarked or poorly labeled resistors in legacy equipment, ham radio gear, or industrial controls.
  • Field service: Rapid identification of resistor values during troubleshooting without access to schematics or datasheets.

Real-World Engineering Cases

The Industrial Sensor Multiplier Error

During a manual PCB repair on a heavy industrial motor drive, a technician visually misread a 470kΩ (Yellow-Violet-Yellow) resistor as 47kΩ (Yellow-Violet-Orange) because the yellow multiplier band had discolored due to prolonged heat exposure. This 10x error in the op-amp feedback loop caused the motor to over-rev upon startup, destroying the attached mechanical gearbox.

Engineering Lesson

Relying solely on visual color bands—especially on degraded, overheated, or vintage components—is highly risky. Always verify the decoded theoretical value with a calibrated multimeter before installing it in a mission-critical circuit.

Frequently Asked Questions

How do I read a 4-band resistor color code?

A 4-band resistor has two significant digit bands, a multiplier band, and a tolerance band. Read the first two bands as digits, multiply the resulting number by the multiplier band value, and the tolerance band gives the accuracy percentage.

What is the difference between a 4-band and a 5-band resistor?

A 5-band resistor adds a third significant digit band, giving three significant digits instead of two before the multiplier is applied. This provides more precise resistance values and is common on resistors with 1% or tighter tolerance.

What does the 6th band on a resistor mean?

The 6th band on a resistor indicates the temperature coefficient in parts per million per degree Celsius (ppm/K), which describes how much the resistance drifts as temperature changes.

What resistance does no tolerance band represent?

If a resistor has no distinct tolerance band, it is assumed to have a tolerance of plus or minus 20 percent, corresponding to older or lower-precision resistors.