Resistor Color Code Calculator

Decode 4/5/6-band resistor colours into a value — or reverse a value into bands.

Used only for 5- and 6-band resistors.
Ω
Reverse mode: the value to encode into bands.
Resistance
Tolerance
Value range
Band colours

Results update as you type.

About this calculator

The resistor color code is the scheme of coloured bands painted on a resistor to show its value, used because the parts are too small to print numbers on. Reading left to right, the first bands are significant digits, the next band is a power-of-ten multiplier and the last band is the tolerance. For a 4-band part the value is (10 × digit1 + digit2) × 10^multiplier ohms; 5- and 6-band parts add a third significant digit for tighter precision (and, on 6-band parts, a temperature-coefficient band). Each colour maps to a fixed number: black 0, brown 1, red 2, orange 3, yellow 4, green 5, blue 6, violet 7, grey 8, white 9, with gold and silver serving as ×0.1 and ×0.01 multipliers or ±5% and ±10% tolerances.

As a worked example, the classic brown-black-red-gold band pattern reads as digits 1 and 0, a ×100 multiplier and ±5% tolerance: (10 + 0) × 100 = 1,000 Ω, i.e. a 1 kΩ ±5% resistor whose true value lies anywhere from 950 Ω to 1,050 Ω. Decode any part by selecting the colour of each band from the drop-downs and the calculator returns the nominal resistance, the tolerance and the guaranteed value range.

Switch to reverse (encode) mode to go the other way: type a target resistance and the tool rounds it to the nearest value the digit bands can express, chooses the multiplier to match, and lists the band colours you would read off a real resistor of that value — handy when you have a schematic value and need to find or verify the physical part on your bench.

Frequently asked questions

How do resistor colour bands work?

The first two (or three) bands give the significant digits, the next is a ×10ⁿ multiplier and the last is the tolerance. Brown-Black-Red-Gold = 1, 0, ×100, ±5% = 1 kΩ ±5%.

What does the tolerance band mean?

Tolerance is how far the real resistance may stray from the nominal value. A ±5% 1 kΩ resistor can measure anywhere from 950 Ω to 1050 Ω.

How does reverse mode pick the bands?

It rounds your target to the nearest value the digit bands can express, then chooses the multiplier so the reading matches — the same colours you would read off a real resistor of that value.

What is the difference between 4-, 5- and 6-band resistors?

A 4-band resistor has two digit bands; a 5-band adds a third digit for tighter tolerances like ±1%; and a 6-band adds a final temperature-coefficient band showing how much the value drifts per degree. More bands generally means a more precise part.

Which end of the resistor do I read first?

Start from the band nearest an end and read toward the tolerance band, which is usually gold or silver and slightly separated from the rest. If gold or silver sits at one end, that is the tolerance band, so read from the opposite end.

What do gold and silver bands mean?

In the multiplier position gold means ×0.1 and silver means ×0.01, giving sub-ohm values. In the tolerance position gold means ±5% and silver means ±10% — the two most common everyday tolerances.

Why doesn’t my measured resistance exactly match the code?

The bands give a nominal value plus a tolerance window. A ±5% 1 kΩ resistor may legitimately measure anywhere from 950 Ω to 1,050 Ω, and temperature and age can shift it further, so a small mismatch on a multimeter is completely normal.

❤️ Love Calculator.Free? Share it

𝕏  X Facebook Reddit
API — use this calculator from code

Call this calculator as a free JSON endpoint — no key required. Send the field values below as query parameters or JSON. Read the full API docs →

Endpoint

GET https://calculator.free/api/v1/resistor-color-code/

curl

curl "https://calculator.free/api/v1/resistor-color-code/?mode=decode&bands=4&band1=1&band2=0&multiplier=2&tolerance=5"

JavaScript fetch()

const r = await fetch(
  "https://calculator.free/api/v1/resistor-color-code/?" + new URLSearchParams({
    "mode": "decode",
    "bands": "4",
    "band1": "1",
    "band2": "0",
    "multiplier": "2",
    "tolerance": "5"
  }));
const data = await r.json();
console.log(data.results);

Results are estimates for general guidance only, not financial, medical or tax advice.