It's not too late. Not only is it still possible to buy gifts online and get them delivered in time for Christmas, but in some cases retailers won't even charge you for express shipping. All of the retailers below offer free shipping on nearly all orders, with no minimum purchase and delivery guaranteed to arrive by Dec. 24.
Best Buy: Place orders by 10:30 a.m. CT on Tuesday, Dec. 22, and get delivery by Dec. 24 for free on most items.
Bloomingdale's: Free shipping on all orders placed through Dec. 22.
L.L. Bean: Order by noon on Tuesday, Dec. 22, and delivery will arrive by Dec. 24—free, of course.
Neiman Marcus: Use the code NMRUSH at checkout and place orders no later than Dec. 23 at noon for free shipping and delivery guaranteed by Dec. 24.
Target: Monday, Dec. 21, is Target's cutoff date for orders that get free delivery guaranteed for Dec. 24 arrival.
Zappos: All orders get free two-day shipping, so order by 1 p.m. PT on Tuesday, Dec. 22, and you're good for delivery by Dec. 24.
Amazon*: The asterisk is there because only Amazon Prime members (annual subscription: $99) get two-day shipping for free—meaning orders placed by Dec. 22 will arrive by Dec. 24. Prime members can also get same-day shipping in the 16 metro areas on select items where the service is available, with a $35 minimum purchase.
ShopRunner*: The same caveat as above applies here—subscription is required for free two-day shipping with ShopRunner, which handles delivery for more than 100 major retailers. Membership normally costs $79 annually, though the fee is waived if you register at the site with an American Express card.