वैरिएंट कंप्यूटर प्रोग्रामिंग में एक प्रकार के डेटा प्रकार को संदर्भित करता है। इसका उपयोग रनटाइम पर निर्दिष्ट किसी भी डेटा प्रकार के डेटा को दर्शाने के लिए किया जाता है। वेरिएंट को C, C++, Java, PHP और अन्य सहित विभिन्न कंप्यूटर भाषाओं में कार्यान्वित किया जाता है। वेरिएंट नियमित चर और स्थिरांक से इस मायने में भिन्न होते हैं कि उनमें किसी विशिष्ट, पूर्वनिर्धारित प्रकार के बजाय किसी भी दिए गए प्रारूप या प्रकार में डेटा हो सकता है।
एक वैरिएंट उपयोगी है क्योंकि यह उपयोगकर्ता को डेटा प्रकारों की एक बड़ी श्रृंखला के साथ काम करने की अनुमति देता है, जबकि रनटाइम के दौरान इसे तुरंत एक निर्दिष्ट प्रकार में परिवर्तित करने में भी सक्षम होता है। उदाहरण के लिए, एक उपयोगकर्ता एक वैरिएंट को एक स्ट्रिंग के रूप में परिभाषित कर सकता है, लेकिन फिर भी आवश्यकतानुसार इसे पूर्णांक में परिवर्तित कर सकता है। वेरिएंट का उपयोग अक्सर बाहरी स्रोतों, जैसे फ़ाइलों या डेटाबेस से प्राप्त डेटा को संग्रहीत करने के लिए भी किया जाता है, जब तक डेटा पढ़ा नहीं जाता तब तक डेटा प्रारूप अज्ञात होता है।
वेरिएंट का उपयोग प्रोग्रामर को ऐसे कोड को परिभाषित करने में सक्षम बनाता है जो लचीला है और विभिन्न अनुप्रयोगों में अधिक आसानी से पुन: प्रयोज्य है। यह डिबगिंग कोड को भी आसान बनाता है, क्योंकि रनटाइम के दौरान डेटा प्रकारों की जाँच की जाती है।
गतिशील रूप से बनाए गए या बदलते डेटा, जैसे उपयोगकर्ता इनपुट या डेटाबेस क्वेरी के परिणाम से निपटने के दौरान वेरिएंट भी सहायक हो सकते हैं। वेरिएंट एक प्रोग्रामर को एक कोड ब्लॉक बनाने की अनुमति देते हैं जो यह जाने बिना काम करता है कि प्रोग्राम अंततः किस प्रकार का डेटा उत्पन्न करेगा।
वेरिएंट द्वारा प्रदान किए जाने वाले कई फायदों के बावजूद, उन्हें उपयोग करने के लिए अधिक प्रसंस्करण शक्ति और मेमोरी की आवश्यकता होती है। इस प्रकार, वे आम तौर पर प्रदर्शन-महत्वपूर्ण कार्यों के लिए उपयुक्त नहीं होते हैं। हालाँकि ऐसी स्थितियों में उनका उपयोग किया जा सकता है, यह सुनिश्चित करने के लिए अतिरिक्त सावधानी बरती जानी चाहिए कि अत्यधिक डेटा प्रकार रूपांतरणों के कारण कोड बाधित या धीमा न हो।