Most through-hole resistors are marked with color bands to indicate their value and tolerance (and occasionally other things like temperature coefficients). Here is a summary of the color code for 4 and 5 band resistors. Resistors with a tolerance of 5% or greater usually only have 4 bands because they only have 2 significant digits in their values. 2% and 1% resistors have 3 significant digits and thus need an additional band to represent their value.
|Color||Band 1||Band 2||(not present)||Band 3||Band 4||4 Bands|
|Band 3||Band 4||Band 5||5 Bands|
If you find a resistor with only 3 color bands, it is most likely a 20% tolerance resistor, which is rarely used today and can probably be substituted with a 10% or 5% tolerance resistor. The 3 bands represent the value and multiplier. Thus a resistor marked yellow-violet-brown-gold would be a 470Ω 5% tolerance resistor.
In some situations colors can be difficult to distinguish, but for 4 band resistors, we can usually identify the correct value by checking against the 24 standard values. For example if we saw a resistor that looked like it was yellow-blue-brown (which would be 460Ω), we could assume it was more likely yellow-violet-brown, since 470Ω is a standard value. The other possibility would be orange-blue-brown, or 360Ω.
Standard values for 5% tolerance (E24 series) resistors are the following base values times power of 10:
On surface mount and some specialty resistors, the resistor value is marked as 3 or 4 digits and possibly a letter indicating tolerance. The first 2 or 3 digits represent the value, where the last digit represents the multiplier: essentially the number of zeros after the value digits. Thus, a resistor marked 471 would be a 470Ω resistor. Common tolerance codes are J for 5%, G for 2%, and F for 1%. If tolerance is not marked, the tolerance must be found in the manufacturer’s datasheet, but it can be narrowed down by significant digits. A 4 digit marking has 3 significant digits and is normally only used on 2% or better resistors. If a resistor only has a 3 digit marking, it is most likely 5% (or possibly 10%) tolerance.