Best Time to Visit India

Weather by month for 61 destinations in India. Pick a city for its full month-by-month guide.

When to visit India

Winter is the easy season

For most of India, November to February is the sweet spot. Days are warm and dry, and the evenings are cool. Delhi, Agra, Jaipur, Udaipur and Varanasi are all at their best then, so it's the time for forts, palaces and the Taj Mahal. Mornings in Delhi and Varanasi can be foggy, which sometimes delays trains and flights. Leave some slack in your plans.

Winter is also high season. Expect full hotels and higher prices around Christmas and New Year, especially in Panaji (Goa), where the beaches fill up. Diwali, the festival of lights, falls in October or November, and the date moves each year. Trains sell out fast around it.

Where the calendar shifts

The south and the coast follow their own rhythm. Chennai is best in January, because November is its wettest month, when the northeast monsoon arrives. Kochi and Bengaluru are nicest in December and January. Surat starts a little earlier, from October. Hyderabad is best in November and December.

Holi, the colour festival, lands in March and is a joy in cities like Jaipur and Varanasi. It's messy and loud, so wear clothes you can ruin.

Heat and monsoon

From March to June, it gets properly hot. May reaches 41°C in Jaipur and 44°C in Ahmedabad, the hottest on our list. Sightseeing becomes a dawn and evening job. If you hate crowds, though, hot months are quiet and cheaper.

The monsoon runs roughly June to September, with July the wettest month almost everywhere. The exception is Bengaluru, which peaks in September. Mumbai gets 988 mm in July and Panaji 783 mm, so beach shacks in Goa mostly close. Rain does bring green hills and low prices, and Kochi's backwaters look lovely. Just expect delays and flooded streets in Mumbai.

Travelling with kids? Aim for winter school holidays, but book early.

DestinationBest monthsJanFebMarAprMayJunJulAugSepOctNovDec
JaipurNovember to February23°27°33°38°41°40°36°33°33°33°29°25°
AgraNovember to February23°28°34°40°43°42°36°34°34°33°29°25°
VaranasiNovember to February25°29°36°41°43°41°35°33°32°32°29°25°
KochiDecember and January32°33°34°32°30°29°28°28°28°29°29°30°
UdaipurDecember to February26°29°34°38°40°37°32°30°30°32°30°27°
PanajiNovember to February30°31°32°33°32°29°28°28°28°29°30°30°
MumbaiNovember to January32°35°38°40°38°32°29°28°29°31°31°31°
DelhiNovember to February22°26°33°39°42°42°36°34°33°32°28°24°
BengaluruDecember and January29°32°35°35°33°29°28°28°28°27°27°27°
HyderabadNovember and December30°33°37°39°40°34°31°30°29°29°28°28°
AhmedabadDecember and January29°33°38°42°44°40°34°32°32°33°32°30°
ChennaiJanuary28°31°34°36°36°35°34°33°32°31°29°28°
KolkataDecember and January25°30°35°39°37°34°32°31°31°30°27°25°
SuratOctober to January32°35°38°41°40°35°30°29°30°32°33°33°
PuneNovember to January28°32°36°38°37°30°27°26°27°28°27°27°
KanpurNovember to February23°28°35°41°43°42°35°33°32°32°28°24°
Navi MumbaiNovember to January32°35°38°40°38°32°29°28°29°31°31°31°
LucknowNovember to February23°28°34°40°43°41°35°33°32°31°28°24°
NagpurNovember to January29°33°38°42°44°38°31°30°30°30°29°28°
CoimbatoreDecember and January30°34°36°36°32°29°28°28°29°29°28°28°
IndoreNovember to January27°31°36°40°41°36°30°28°29°30°29°27°
ThaneNovember to January32°35°38°40°38°32°29°28°29°31°31°31°
VadodaraDecember and January30°34°38°42°43°38°33°31°31°32°32°30°
BhopalNovember to January26°30°35°39°42°37°31°29°29°30°28°26°
RasapudipalemDecember to February27°29°32°34°34°32°30°30°30°29°28°26°
Pimpri-ChinchwadNovember to January28°32°36°38°37°30°27°26°27°28°27°27°
PatnaNovember to February24°29°35°41°42°40°34°33°32°31°28°24°
KallakurichiDecember and January30°34°37°39°37°35°35°34°33°31°29°29°
LudhianaNovember to February21°24°31°37°42°42°38°36°34°33°28°23°
NashikNovember and December30°33°36°39°38°31°27°27°27°29°29°29°
MaduraiJanuary30°34°37°37°36°35°34°34°34°32°29°29°
TirunelveliJanuary30°34°36°35°32°30°30°31°31°30°29°29°
FaridabadNovember to February22°26°33°39°42°42°36°34°33°32°28°24°
RajkotDecember and January28°32°36°39°40°37°33°31°32°33°32°29°
NajafgarhNovember to February22°26°33°39°42°42°37°34°34°33°29°24°
JamshedpurNovember to January25°30°35°40°40°36°32°31°30°29°27°24°
PimpriNovember to January28°32°36°38°37°30°27°26°27°28°27°27°
KalyanNovember to January32°35°38°40°38°32°29°28°29°31°31°31°
DombivaliNovember to January32°35°38°40°38°32°29°28°29°31°31°31°
MeerutNovember to February22°26°32°39°42°42°36°33°33°32°28°23°
VirarNovember to March26°27°29°30°30°30°29°28°28°30°29°27°
NowrangapurDecember and January26°31°35°37°37°32°28°27°27°27°25°24°
SrinagarSeptember to November10°11°16°21°26°30°31°31°29°24°18°14°
GhaziabadNovember to February22°26°33°39°42°42°36°34°33°32°28°24°
DhanbadNovember to February23°28°34°39°40°37°32°31°30°29°26°23°
AurangabadNovember to January30°33°36°40°41°35°30°30°29°30°29°29°
AmritsarNovember to February20°24°30°37°42°42°38°36°35°33°27°22°
VijayawadaDecember and January31°35°39°41°40°36°33°32°31°31°30°29°
RanchiNovember to February23°28°33°38°39°35°30°29°28°27°25°23°
JabalpurNovember to January27°31°35°40°42°38°31°29°29°29°28°27°
PrayagrajNovember to February24°29°36°41°43°41°34°33°32°32°28°25°
VisakhapatnamDecember to February27°29°32°34°34°32°30°30°30°29°28°26°
JodhpurDecember to February25°29°34°39°42°41°37°35°36°36°31°26°
GwaliorNovember to February24°29°35°40°43°41°35°32°32°32°29°25°
TeniJanuary29°32°35°35°33°31°30°30°30°29°27°27°
HowrahDecember and January25°30°35°39°37°34°32°31°31°30°27°25°
RaipurDecember and January26°31°36°41°42°37°31°30°30°29°26°25°
TiruchirappalliDecember and January31°34°37°38°37°35°35°34°34°32°29°29°
KotaDecember and January25°30°35°40°43°40°34°31°32°33°30°26°
Shivaji NagarNovember to January28°32°36°38°37°30°27°26°27°28°27°27°
New DelhiNovember to February22°26°33°39°42°42°36°34°33°32°28°24°

Cells show the average daily high in °C, coloured by our weather rating.