JB has a tropical climate and can be visited at any time of year. Temperatures hover around 30°C during the day year-round, dropping slightly at night. Humidity is high throughout, so lightweight, breathable clothing is the sensible choice.
The driest and most comfortable months are generally April to October, when afternoon showers are short and predictable rather than prolonged. This is also when the city is busiest and prices are at their highest. The northeast monsoon runs from November through January, bringing heavier and less predictable rain. Travel during this period is perfectly feasible — the downpours are usually intense but brief — and accommodation tends to be cheaper.
Johor Bahru gets especially crowded during major public holidays. Chinese New Year in January or February brings the city's large Chinese community out in force, with temple celebrations and street activity that are genuinely worth seeing. The Mooncake and Lantern Festival in September is another atmospheric time to visit. School holidays in June and July bring a significant influx of Singaporean families. If you want fewer crowds, avoid these periods; if you want to see the city at its most alive, lean into them.
For shoppers, the year-end sale season beginning in November is the busiest period, with Singaporeans crossing the border in large numbers to take advantage of deals running through January.