I get asked on a fairly regular basis if you can dye a wedding or formal dress to a different color. This is not a simple yes or no answer. I am only a novice in this area so take this info with a grain of salt. Here is what I know.
Different materials take dye differently and some won't take it at all.
Always use a test strip from somewhere inside the dress so you can see what will happen before you ruin the entire dress.
You need a different type of dye for different types of materials: natural vs. synthetic
You need boiling hot water which can be difficult to get enough of if you are dying a wedding dress.
You have to be able to regularly stir the items over many hours in order to have the dye set in evenly.
It is really difficult to get a true black or a true red color. This is why test strips are necessary.
Be flexible. Don't have your heart set on a final outcome because the process can be a bit unpredictable. Don't dye anything you don't mind if it gets ruined.
Don't forget to take into account the material of the thread. It will often dye differently than the rest of the dress.
There are color removers that will help lighten darker colors so that you can dye them a different color.
Don't forget basic color theory. If your dress is pink and you want it blue, you are likely going to make purple. If your dress is blue and you want it orange, you might make brown, etc.
If you can't get scraps of fabric from the dress, test a smaller section.
I have only tried a small number of smaller items, never anything as big as a wedding dress. If you give it a go be sure to share your before and afters! You can also check out tutorials on YouTube like the one shown below.