The coloured bands on a resistor can tell you everything you need to know about its value and tolerance, as long as you understand how to read them. The order in which the colours are arranged is very important, and each value of resistor has its own unique combination.
This is a very simple four band graphical resistor calculator that will easily calculate the value of a resistor from the band colors.
Simply change the values from the dropdown menus to match the colour bands of your resoistor and the resistance value will automatically change.
Band 1  Band 2  Band 3  Band 4  
Value 1 (MSV)  Value 2  Weight  Tolerance  
Resistance: 

Standard Table For Calculating 4 Band Resistors' Resistance.
Colour  Digit value  Multiplier  Multiplied Out  Tolerance 
Black  0  x10^{0}  1  
Brown  1  x10^{1}  10  
Red  2  x10^{2}  100  
Orange  3  x10^{3}  1,000  
Yellow  4  x10^{4}  10000  
Green  5  x10^{5}  100,000  
Blue  6  x10^{6}  1,000,000  
Violet  7  x10^{7}  10,000,000  
Gray  8  x10^{8}  100,000,000  
White  9  x10^{9}  1,000,000,000  
Gold  x10^{1}  ±5%  
Silver  x10^{2}  ±10% 
The coloured bands on a resistor can tell you everything you need to know about its value and tolerance, as long as you understand how to read them. The order in which the colours are arranged is very important, and each value of resistor has its own unique combination.
Here is an example that shows how the table and resistor shown above can be
used to figure out a resistor value by proving that yellowvioletbrown is
really 47k Ohm:
The first stripe is yellow, which means the leftmost digit is a 4.
The second stripe is violet, which means the next digit is a 7.
The third stripe is orange. Since orange is 1000, it means add three zeros to the right of the first two digits.
The fourth band is the tolerance band, which in this case is gold meaning 5%
Yellow  Violet  Orange = 4  7  000 = 47K Ohm.
Although the first two bands are fairly straightforward, the third (multiplier)
and fourth (tolerance) bands might require a bit more explanation.
Resistor values can get to be very high in number, and there often is not enough
space to use a band for every digit. To get around this, the third band
indicates that a certain number of zeros should be added after the first two
digits to make up the full resistor value. In the example above, the third
stripe is brown, indicating that a single zero should be added to the right of
the first two digits.
If you want to go deeper into the maths, this third band is officially referred
to as a multiplier. The colour of the band determines the power of 10 you need to
multiply the first two resistor digits by.
Example:
Brown  black  orange resistor.
Brown = 1, black = 0, orange multiplier = 103
10 x 103 = 10000, which is the same as 10 + three zeros = 10000.
Notice that however you decide to think about it, the result ends up being the
same.
The fourth color band indicates the tolerance of the resistor. Tolerance is the
percentage of error in the resistors resistance, or how much more or less you
can expect a resistors actual measured resistance to be from its stated
resistance. A gold tolerance band is 5% tolerance, silver is 10%, and no band at
all would mean a 20% tolerance.
For Example:
A 220 Ohm resistor has a silver tolerance band.
Tolerance = value of resistor x value of tolerance band = 220 Ohm x 10% = 22 Ohm
220 Ohm stated resistance +/ 22 Ohm tolerance means that the resistor could range
in actual value from as much as 242 Ohm to as little as 198 Ohm.
Some projects require your measurements to be more precise than others, and for
this reason the tolerance band is useful in identifying which resistor will give
you a more accurate resistance reading. The smaller the tolerance percentage is,
the higher the precision in your measurements.