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.