Dyeing is the application of dyes or pigments on textile materials such as fibers, yarns, and fabrics with the goal of achieving color with desired color fastness. Dyeing is normally done in a special solution containing dyes and particular chemical material. Dye molecules are fixed to the fiber by absorption, diffusion, or bonding with temperature and time being key controlling factors. The bond between dye molecule and fiber may be strong or weak, depending on the dye used. Dyeing and printing are different applications; in printing, color is applied to a localized area with desired patterns. In dyeing, it is applied to the entire textile.