Summer (June–August)
This is Croatia's peak season, and it shows. The Adriatic is warm, the islands are in full swing, and the coastal cities are alive with festivals, markets, and nightlife. Dubrovnik and Hvar are at their most beautiful — and most crowded. Expect higher prices, booking difficulties, and long queues at Plitvice Lakes and the city walls in Dubrovnik. July and August are relentless; if you can shift your trip to June or early September, you'll be happier.
Shoulder Season (May and September)
The best time to visit for most travelers. Temperatures are warm enough for swimming (the sea holds its heat well into October), tourist infrastructure is fully open, crowds are thinner, and prices drop noticeably. September especially combines excellent weather with a calmer atmosphere once families go home. Plitvice is at its most spectacular in autumn colour.
Spring (April–May)
A good time to visit Zagreb and the interior. National parks are lush, lavender fields in Hvar are not yet crowded, and the coast is quiet. Some island businesses haven't opened yet, and ferry schedules are reduced. Worth it for the lower prices and the pleasant walking weather.
Winter (November–March)
Most of the Dalmatian coast shuts down — restaurants close, ferries run once a day if at all, and island villages are nearly deserted. Zagreb, however, has a lively winter with Christmas markets and a proper city feel. Split and Zadar remain inhabited and interesting year-round. The bura wind blows hard and cold along the coast between January and March.
If you want beaches and islands, come between late May and late September. If you want Zagreb and the national parks without the crowds, almost any other time works.