To protect skin from harmful ultraviolet (UV), zinc oxide (ZnO) with tannin from gallnuts was treated on cotton and polyester fabrics in this study. Before the treatments, the fabrics were dyed with shikonin and xanthophyll from Gromwell and Cape Jasmine. First, this study found that xanthophyll was more effective at preventing light fade or discoloration than shikonin. Despite the highest K/S, the untreated cotton in violet faded the most intensely when exposed to UV. The color variation of untreated polyester was narrow, with little change in L, a*, and K/S. Due to the non-photochemical xanthophyll, the yellow-dyed samples treated with ZnO/polyphenol did not vary yellowness (b*: 28.838) significantly, while the violet fabrics displayed a significant decrease in K/S and an increase in b*. The combination of ZnO and polyphenol treatment improved UV absorption at 350 to 250 nm. Cu-mordanting after ZnO/polyphenols treatment caused the violet cotton to turn reddish from blueish (negative to positive b*), with a hue change of 316° to 59° and the highest ΔE (25.90±4.34) after UV exposure. In this study, the combination of ZnO/polyphenol with Cu-mordants contributed the xanthophyll-dyed polyester to achieve a minimum ΔE and keep chroma and hue after UV exposure.