A stack in data structure is a linear data structure that follows the Last In, First Out (LIFO) principle. This means the last element inserted into the stack is the first one to be deleted. It allows operations like push (adding elements), pop (removing top elements), and peek or top (viewing top element) to be performed. It is commonly used in programming for function calls, parsing expressions and memory management.