Code-switching, switching between different languages within the same conversation, is a prominent feature in bilingual communication. This study aimed to elucidate to what extent the linguistic abilities and age of dual-language-learning preschoolers influence the frequency and purposes of code-switching ( compensatory , to bridge linguistic gaps; preferential , to express content as fluently as possible; pragmatic , to phrase something appropriately for the situation). Parental code-switching ratings of 101 German/French-Turkish/Italian dual-language learners aged 32-78 months were analyzed. Generalized linear mixed models revealed positive but no negative effects of societal- and heritage-language skills on children's code-switching frequencies independent of switching purposes and with no evidence of age effects. Hence, code-switching across the preschool age mainly reflects high linguistic competences. Models with linguistically and psychometrically parallelized language scores indicated a strong switching tendency toward the societal language when proficiency in both languages is high and away from the societal language when language proficiencies are low.