The duration of a baby shower can vary, but it usually lasts around 2 to 3 hours. This allows ample time for guests to socialize, play games, enjoy food and drinks, and for the expectant mother to open gifts.