There are basically 2 main methods of dying roses both have average results but it seems to vary each time, lots of photos online unfortunately have been photoshopped to appear brighter etc. Either way here is how you do it:
Split & place in dye technique
This has limited results but it seems to work, you basically split the stem of a pure white rose into 3 or 4 parts and submerge these into food colouring mixed with water (& flower food for extra longevity).
You then leave them in the water for 24-48 hours and they soak up the dye however it seems people get very mixed results.
To improve your chance ensure as soon as you cut the stem you submerge them in the water, if air gets to it it will start to kill the flower.
Tips from a Florist
“I must say that the rainbow roses are possible and work. while you had the basic mix right, you also need to add flower food to it to boost it and a product we call hydrodip before the bath to help absorb the dye. Keeping the flower cold is the best bet on the color working because it starves the plant making it take in the water more. another tip, try to get the rose in the liquid immediately upon cutting. as soon as the flower gains a fresh cut it takes in air which kills the flower.”
Precise needle injection
A little more specialist but supposedly gives better results, you basically take a syringe and inject the color/water mix (flower dye or food colouring) into the flower bottom (that thick part before it is a flower) and put it in warm water (supposedly info from a botanist who worked with blue dyed orchids).
To increase chances you supposedly do this at specific growing points closer to the flower (these locations are unknown to us). Various companies use their own techniques and to some of them their specific techniques are trade secrets.
It is rumour to improve the growth by placing in warm water (However we simply do not know which is better)
or Just buy them!
Just buy them from the florist on this deal…
Rainbow Rose Seeds = Massive Scam
The dye in water technique (didn’t seem to work but see below on how to improve it)