70% viscose 30% linen. Absolutely adorable and don’t forget to add the matching pants to complete the look! TTS.