A caraco is a style of woman's jacket that was fashionable from the mid-1700s to the early 1800s (roughly the Georgian and Regency eras). These are jackets in the same sense as men's suit jackets, and could be quite light for summer wear. Over time a rather large range of styles fell under the general heading of caraco, with the defining features being a fitted jacket, with a tighter fit in the shoulders, trunk, and sleeves, widening to a short, loose "skirt" that covered the hips, flared to drape over bustled skirts. They had a very low neckline in the front, to an extent that would be quite daring if they were not the outer layer.
Common variations included having the sleeves flare a bit to match the skirt, trimming the sleeves with lace or flounces to match any that might adorn the neckline, and to have sleeves at only 3/4 length. Other variations included longer, knee-length skirts, and zone fronts giving the false appearance of a jacket open over a waistcoat. It was common for the caraco to be worn with matching long skirts of the same fabric, although it was not uncommon to mix and match in less formal settings.
People are often not too strict in their terminology, and a shortened robe à la francaise (AKA a sack-back gown) was also quite popular at this time; contemporaneously, these would be known as a short sack or pet-en-l’air, but modern eyes are not likely to see the difference, namely, that the short sack is loose in the back, rather than form-fitting. Likewise the pierrot (French for 'sparrow' or 'clown'; the intent was unclear) jacket disposed of the long hem except in the back, providing a shorter version of the caraco with a 'tail', usually ruffled or flounced. Caracos are also sometimes referred to, incorrectly, as a casaquin; a casaquin would not have a low neckline, and would be more formal. However, it was also not too uncommon to use 'caraco' as a generic term for a woman's jacket, so it doesn't do to be too picky.
Most properly, the word should be spelled caraçao, and pronounced 'kara-sow'. The origin of this name is uncertain, but may come from the Turkish word kerrake, meaning, essentially, 'nice shirt', in reference to the long hems of some Turkish tops.