In addition of @rakesh answer no need of product loading For direct approach (Object Method) $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $_product = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product'); $attr = $_product->getAttribute('model'); if ($attr->usesSource()) { $option_id = $attr->getSource()->getOptionId($info->getMake()); } Factory Method protected $_attributeLoading; public function __construct( ..... \Magento\Catalog\Model\ResourceModel\ProductFactory $attributeLoading, .... ) { parent::__construct($context); .... $this->_attributeLoading = $attributeLoading; .... } public function getAttributeOptionId($attribute,$label) { $poductReource=$this->_attributeLoading->create(); $attr = $poductReource->getAttribute($attribute); if ($attr->usesSource()) { return $option_id = $attr->getSource()->getOptionId($label); } } public function getAttributeOptionText($attribute,$label) { $poductReource=$this->_attributeLoading->create(); $attr = $poductReource->getAttribute($attribute); if ($attr->usesSource()) { return $option_Text = $attr->getSource()->getOptionText($label); } } in phtml file $this->getAttributeOptionId('color','//optionLabel'); $this->getAttributeOptionText('color','//optionId');