There is no single answer for this question. Truth be told, any colors are good for headshots, as long as you like wearing the colors. There are however a few headshot color rules that you need to understand so that you don't accidentally walk into a headshot session with something that isn't going to work.
The main guidelines for headshot clothing are as follows:
1. Be sure to wear a color you love for your headshots. Wearing this will make you happier and more confident. If you wear colors you don't feel comfortable in, it will show in your headshots.
2. Wear layers, and make sure they are different colors. Don't wear a single layer if you can help it because layers add more interest to your headshot and make it more dynamic and visually appealing.
3. Wear complimentary colors. If society says blue and beige work well together, trust society and go with it. Unless you are absolutely sure a color combination will look good, don't try it because it may not work. Instead, only try it in your headshots if you are sure you have a change of clothes and plenty of time to experiment. Remember, time is money when paying for headshots!
I have a simple list of colors here that may be useful to you if youre trying to figure out what to wear. Remember that each color has a different meaning and wearing certain ones can subtly influence what the viewer of the headshot thinks:
Blue: having a headshot client wear the color blue primarily gives off the feeling of professionalism and confidence, especially if it is in the top most layer of clothing. Wearing blue underneath the top layer usually denotes peace and calm, especially if it is a paler shade of blue. Having a blue background will often denote sadness in a headshot.
Black: wearing a black outer layer in a headshot typically denotes a feeling of elegance and sophistication. It can bring out a professional feel in any outfit and sometimes even lends a sense of mystery to a character, especially if it's worn underneath the outer layer. When black is the only color worn, it winds up bringing out a sad feeling, because mourning is usually symbolized by the color black. An all black background definitely gives a feeling of professionalism and or mystery, depending on the lighting in the headshot. I don't recommend having a client wear black with another dark color, especially if the colors are right next to each other because they may blend together and look muddy and unprofessional.
Beige: beige is an interesting color because it acts similarly to a chameleon, taking on aspects and emotions of any color it is worn with. As an outer layer, beige will add conservatism and sophistication to any outfit. Wearing beige as an inner layer is not recommended because it usually looks strange against skin tones. Beige pants work well, however. Finally, I would highly discourage shooting against a beige background because it blends too closely with the skin, giving the headshot a washed out and unprofessional look.
Brown: as a more casual color than black, brown can be worn to signify warmth and honesty. It is usually used to make other colors appear brighter and richer, bringing out the emotions of them more. A brown background will usually give the viewer a feeling of wholesomeness and makes the subject of the headshot appear trustworthy and loyal.
Gray: usually worn as an outer layer, gray adds a bit of professionalism to a headshot look and neutralizes brighter colors. Of course, the effect is much more subtle than black, and as the shade of gray gets lighter, the effect becomes even less pronounced. Darker gray is best worn on men and lighter gray on women. Wearing gray as an inner layer typically doesn't work because it feels awkward having a colorful outer layer and non-colored inner layer. The only cases in which it works is if the client wears a darker shade of gray on the outer layer. One must be careful however of overusing the color gray, as it will become extremely boring and depressing if overused in a headshot. Gray backgrounds give a headshot a dingy and boring look, so they are not recommended. However, if a gray background must be used, the darker the better.
Green: an outer layer of green in a headshot often symbolizes stability and harmony in a character. However, when used as an inner layer, it can symbolize inexperience and jealousy. Fortunately, green pairs well with many colors, and can easily be captured on a digital camera sensor without overexposing. A green background often symbolizes growth and life, giving any character in a headshot a more energetic and happy feel.
Orange: wearing the color orange is often not a great choice unless used in small doses. The color demands attention, thereby taking away some from the face of the headshot subject. Throwing some orange into a headshot is great to add a bit of excitement and warmth to an image. The color orange stimulates the appetite, and can be used to bring a bit of life into an otherwise emotionless headshot. Orange can be used in small stripes or designs in the pattern of clothing, but should rarely be used as the primary color of an inner or outer layer. An orange background is also not recommended, as it will distract from the face in the headshot.
Pink: pink is a delicate color, mostly used for females. It typically denotes tenderness and playfulness, and should be worn as an inner layer. Too much pink, such as an outer layer, will likely detract from the face of the subject in the headshot. Fortunately, combining pink with darker colors can bring the headshot a more professional and mature look. Combining it with lighter pastel tones makes it even more playful! A pink background is highly discouraged as it will draw attention to itself and be a distraction in the headshot.
Purple: similar to black, purple is a color of mystery. But on top of that, deep shades of purple represent royalty, nobility, and power. The color can be combined with a warm or cold palette and will take on whichever aspect (hot or cold) it is combined with. An outer layer of purple brings out the feelings of nobility and power in a headshot, while an inner layer of purple brings out the mystery aspect. When used with earthy colors, purple can produce an earthy feel itself, while still feeling mysterious. Paler shades of purple feel delicate and romantic, completely losing the feel of nobility. A purple background can work but should be used carefully, making sure it is not too much of a distraction from the actual headshot.
Red: red is one of the most stimulating colors, bringing out emotions of love and violence, and in some cases, even raising the blood pressure in people. It symbolizes power and importance, and often is used to grab the attention of people and get them to take some sort of action. Since this is such a strong color, it is much more effective to use it in small amounts for a headshot. When overused, red can really take away from the headshot. A red background is discouraged, as it may feel a bit overbearing.
White: as stated earlier, white should be used sparingly because it can attract too much attention and is often overexposed. The color white is commonly used to symbolize purity, softness, and goodness. The only time I recommend using white is for a commercial headshot background. A flat white background works well to remove any distracting elements from the image and gives it a high-key, happy feel. Avoid having a headshot client wear white as much as possible, and if they do, shoot in a very shaded area and be sure to underexpose your images slightly so that you retain detail in the whites. Then you can adjust the curves later in Photoshop to brighten up the image while still retaining the details in the headshot client's white shirt.
Yellow: as a happy color, yellow is typically associated with joy and sunshine. However, it can also symbolize cowardliness and deceit, based on the way it is worn. Avoid overexposure with the color yellow, especially on darker skinned people. Yellow should almost never be used as the primary color because of how bright and attention grabbing it is. But if it is worn in a headshot, it should almost always be used as an inner layer. When used as the primary color in a shirt, it will represent happiness and joy. When used as a smaller, less visible color, it then can have a range of effects, from deceit and cowardliness to money and danger. The effect it has will be based on what emotion the character is portraying in his or her expression. Yellow backgrounds typically signify happiness, but again should be used sparingly because of how much attention they demand and how bright they can be in the headshot.