A control system for a tufting machine for forming patterned tufted articles of the type having a plurality of needles carrying a plurality of yarns into a backing material that passes through the tufting machine at a desired rate, the control system comprising: a source of yarns having a plurality of yams; a plurality of yarn feed motors, each yarn feed motor in communication with one yarn from the source of yarns and one needle of the plurality of needles; a plurality of yarn feed controllers, each yarn feed controller being coupled to a respective yarn feed motor for controlling the amount of yarn being supplied by the respective yarn feed motor; and a system controller in communication with the tufting machine for controlling operation of the tufting machine and with said yarn feed controllers for controlling operation of said yarn feed motors; wherein the system controller is programmed to: enable input of a plurality of predetermined yarn feed profiles for selected stitches of a programmed pattern to be tufted; and control the operation of the respective yarn feed controllers to feed yarns to the plurality of needles for each selected stitch to be tufted according to the predetermined yarn feed profile, wherein at least two predetermined yarn feed profiles of the plurality of predetermined yarn feed profiles are different, and wherein the system controller is configured to repeat the programmed pattern, characterised in that each predetermined yarn feed profile is programmed by the steps of: (i) determining a base yarn feed value for each stitch of the yarn for each pattern repeat of the programmed pattern; (ii) varying the yarn feed profile from the base yarn feed value for at least one stitch of the yarn for each pattern repeat; and (iii) repeating steps (i) and (ii) for each predetermined yarn feed profile until the feed length of yarn per pattern repeat is substantially the same for the plurality of predetermined yarn feed profiles. a source of yarns having a plurality of yams; a plurality of yarn feed motors, each yarn feed motor in communication with one yarn from the source of yarns and one needle of the plurality of needles; a plurality of yarn feed controllers, each yarn feed controller being coupled to a respective yarn feed motor for controlling the amount of yarn being supplied by the respective yarn feed motor; and a system controller in communication with the tufting machine for controlling operation of the tufting machine and with said yarn feed controllers for controlling operation of said yarn feed motors; wherein the system controller is programmed to: enable input of a plurality of predetermined yarn feed profiles for selected stitches of a programmed pattern to be tufted; and control the operation of the respective yarn feed controllers to feed yarns to the plurality of needles for each selected stitch to be tufted according to the predetermined yarn feed profile, enable input of a plurality of predetermined yarn feed profiles for selected stitches of a programmed pattern to be tufted; and control the operation of the respective yarn feed controllers to feed yarns to the plurality of needles for each selected stitch to be tufted according to the predetermined yarn feed profile, wherein at least two predetermined yarn feed profiles of the plurality of predetermined yarn feed profiles are different, and wherein the system controller is configured to repeat the programmed pattern, characterised in that each predetermined yarn feed profile is programmed by the steps of: (i) determining a base yarn feed value for each stitch of the yarn for each pattern repeat of the programmed pattern; (ii) varying the yarn feed profile from the base yarn feed value for at least one stitch of the yarn for each pattern repeat; and (iii) repeating steps (i) and (ii) for each predetermined yarn feed profile until the feed length of yarn per pattern repeat is substantially the same for the plurality of predetermined yarn feed profiles. (i) determining a base yarn feed value for each stitch of the yarn for each pattern repeat of the programmed pattern; (ii) varying the yarn feed profile from the base yarn feed value for at least one stitch of the yarn for each pattern repeat; and (iii) repeating steps (i) and (ii) for each predetermined yarn feed profile until the feed length of yarn per pattern repeat is substantially the same for the plurality of predetermined yarn feed profiles.