Five-band resistor color code calculator
Brown-black-black-red-brown reads as 10 kΩ with ±1 % tolerance, so the part may measure anywhere from 9,900 to 10,100 Ω. Pick the five colors left to right and get the value and its allowed range. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Digit1
- Brown
- Digit2
- Black
- Digit3
- Black
- Multiplier
- Red
- Tolerance
- Brown
- Color bands
- brown, black, black, red, brown
- Bands count
- 5
- Significand
- 100
- Multiplier exp
- 2
Five-band precision resistors encode three significant digits, a decade multiplier, and a tolerance stripe using the IEC 60062 color table. Hobbyists reading a brown-black-black-red-brown body, technicians verifying E96 stock, and firmware tools that map camera-detected bands all need the same deterministic decode: significand times ten to the multiplier exponent, then plus or minus the tolerance percent. This five-band resistor color code calculator accepts the five colors left to right, returns resistance in ohms and a readable SI display, and reports the allowed min and max ohms from the tolerance band.
How the five-band code maps colors to ohms
A five-band axial resistor is read from the end with the tighter group of stripes toward the body end that holds the tolerance band. The first three colors are significant digits: black is zero, brown one, red two, orange three, yellow four, green five, blue six, violet seven, grey eight, and white nine. Those three digits form an integer significand from zero through nine hundred ninety-nine; for example brown-black-black is one hundred, red-violet-green is two hundred seventy-five, and yellow-violet-black is four hundred seventy.
The fourth band is the multiplier expressed as a power of ten: black multiplies by one, brown by ten, red by one hundred, orange by one thousand, and so on through white at one billion, while gold multiplies by one tenth and silver by one hundredth. Resistance in ohms is therefore significand times ten raised to the multiplier exponent.
The fifth band is tolerance in percent of that nominal value: brown is plus or minus one percent, red two percent, green half a percent, blue a quarter percent, violet a tenth of a percent, grey five hundredths of a percent, gold five percent, and silver ten percent. Precision metal-film parts commonly use brown or red tolerance with a third digit band so that E96 and E192 values such as 1.00 kΩ or 4.99 kΩ can be painted without ambiguity.
Four-band codes omit the third digit and use coarser E24 steps; this capability is dedicated to the five-band layout so the third digit is never mistaken for a multiplier.
What you can do with it
Bench and lab identification
Read five body stripes left to right and obtain ohms, SI display, and tolerance min/max before soldering or logging the part.
Classroom and homework checks
Let students submit five band colors and verify the three-digit significand, decade multiplier, and ±% tolerance against textbook tables.
Kitting and inventory scripts
Batch-decode operator-entered five-band colors into ohms and tolerance bins for bags, reels, or BOM cross-checks without a local color spreadsheet.
FAQ
How do I decode a five-band resistor color code?
Send digit1, digit2, digit3, multiplier, and tolerance as IEC color names.
What is the difference between four-band and five-band codes?
Five-band parts paint three significant digits before the multiplier so precision E96/E192 values are exact; four-band codes use only two digits and coarser steps. This tool requires exactly five bands.
Which colors are valid for each band?
Digits: black through white (0–9). Multiplier: those colors plus gold (×0.1) and silver (×0.01). Tolerance: brown, red, green, blue, violet, grey, gold, silver. Gray is accepted as grey.
Which end of a five-band resistor do I start reading from?
Start at the end where the stripes are grouped closely together and read the five colors left to right; the tolerance band comes last. Gold and silver are never a digit, so if one sits at the start, turn the resistor around.
What do gold and silver mean on the multiplier band?
Gold multiplies the three digits by one tenth and silver by one hundredth. They mark low-value precision resistors whose result includes fractions of an ohm.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/elec/resistor-color-5band \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"digit1":"brown","digit2":"black","digit3":"black","multiplier":"red","tolerance":"brown"}'const res = await fetch("https://api.kit.forhosting.com/elec/resistor-color-5band", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"digit1": "brown",
"digit2": "black",
"digit3": "black",
"multiplier": "red",
"tolerance": "brown"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/resistor-color-5band",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"digit1": "brown",
"digit2": "black",
"digit3": "black",
"multiplier": "red",
"tolerance": "brown"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/resistor-color-5band", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"digit1":"brown","digit2":"black","digit3":"black","multiplier":"red","tolerance":"brown"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"digit1":"brown","digit2":"black","digit3":"black","multiplier":"red","tolerance":"brown"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/resistor-color-5band", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"digit1": "brown",
"digit2": "black",
"digit3": "black",
"multiplier": "red",
"tolerance": "brown"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.resistor_color_5band",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Gold and silver multipliers handle fractional-ohm parts; gray is accepted as an alias of grey.
Input contract, response fields, and validation errors
American spelling gray is normalized to grey when colors arrive through the optional bands array of five strings in left-to-right order. Example: digit1 brown, digit2 black, digit3 black, multiplier red, tolerance brown yields significand one hundred, multiplier exponent two, ten thousand ohms displayed as 10 kΩ, tolerance one percent, and a range from nine thousand nine hundred to ten thousand one hundred ohms. POST a JSON body with five required color strings: digit1, digit2, and digit3 from the digit table; multiplier from the decade table including gold and silver; and tolerance from the tolerance table. Each field is an enum in the schema so the free form renders as five selects rather than free text that invites typos. Missing fields, non-string colors, wrong band counts in bands, digit colors used as tolerance, or gold used as a digit fail with invalid_input naming the field and are not billed.
Where a five-band decoder earns its keep
Bench technicians use a five-band resistor color code calculator when the printed value is worn off or when a kit tray only shows body stripes under a phone camera. Students learning electronics lab practice need an oracle that returns three-digit precision values rather than a four-band approximation that rounds 4.99 kΩ into a coarse 5 kΩ step. Inventory and kitting scripts can batch-decode operator-entered colors into ohms and tolerance bins before parts are bagged for SMT or through-hole assembly. Pair the numeric ohms with your own BOM checker or E-series snap if you need preferred-value rounding; this endpoint decodes the painted code only and does not invent a nearest E96 value when the bands already spell an exact significand. Keep requests small, pin resistance_ohms and the min and max bounds in tests, and you get reproducible precision-resistor decode for homework, LMS labs, and edge workers without a spreadsheet of color tables.
Technical questions
What does brown-black-black-red-brown mean?
Digits 1-0-0 with multiplier 10^2 and ±1% tolerance: 100 × 100 = 10 000 Ω (10 kΩ), ranging from 9 900 Ω to 10 100 Ω.
What does the five-band resistor color code calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.