Map from Google - India

1- Himalaya (Srinagar)
2- North (Rajasthan, New Delhi)
3- North-east (Kolkata)
4- Center-South (Hyderabad, Bangalore, Chennai)
5- South-west and islands (Mumbai)
When to go

Considering the Himalayas, it is said a little emphatically that India has all the climates, but in most of the country the climate is tropical and dominated by the monsoon, which leads to a dry and a rainy season. The rains are more or less intense and long-lasting depending on area, but generally the wettest period is from July to September, except in the southeast, where the retreating monsoon continues until the end of the year. The hottest period generally runs from April to mid-June, before the arrival of the monsoon: so the real summer corresponds to the calendar's spring. Winter lasts from December to February. In the north-west the monsoon is shorter, while in the inland mountains of Kashmir the monsoon doesn't arrive at all. Along the coast it's hot all year round, especially in the south-central, but the heat is tempered by the breezes.
Let us now analyze the different climatic zones of India.

India, Climate of Himalaya
At the highest altitudes of the Himalayas, the climate is mountainous. The temperature decreases with altitude, besides it's higher along the southern side, while it's lower in inland areas and north facing slopes. Even the rainfall is high on the southern slopes, while it becomes scarce in inland areas, particularly in the north-west, where we find the Ladakh Plateau, which is arid because it's closed between the Karakoram and the Himalayas (see Leh).
On the slopes of the Himalayas, especially in the west, in winter there may be some rains. In Srinagar, at 5,000 feet above sea level, in the state of Jammu and Kashmir, where it is said the tomb of Jesus is located, the climate is slightly continental.
Here are the average temperatures.
Average temperatures - Srinagar
Min (°F)283037455259646455433228
Max (°F)414657667584868682725948

Sheltered from the monsoon, Srinagar in summer is quite sunny, even though it experiences some thunderstorms in the afternoon. In winter, it can rain, and frosts and snowfalls are possible; spring is the rainiest season, but without the excesses of the monsoon areas. The rains in winter and spring are due to the passage of weather fronts of Mediterranean origin, which can affect this part of the north-western Indian territory.
Here is the average precipitation.
Average precipitation - Srinagar
Prec. (in)

Above 10,000 feet, in Kashmir winter gets cold, and it is still snowy along the western slopes: in Drass, at 10,000 feet it can snow in winter, while summer is dry. On the contrary, in inland areas the climate becomes desert: in Leh, located in the Ladakh plateau, at 11,500 feet of altitude, precipitation remains below 4 inches per year, therefore the landscape is desert.
While Jammu and Kashmir is sheltered from the summer monsoon, this does not apply to the mountains that lie to the east, ie west of Nepal (states of Himachal Pradesh and Uttarakhand), and even less to those that lie in the north-east (which at high altitudes are almost all situated in Sikkim and Arunachal Pradesh).
In Gangtok, Sikkim, at 4,600 feet of altitude, the average temperature goes from 47 °F in January, to 67 °F in August: so it's milder than Srinagar, which is located further north.
Average temperatures - Gangtok
Min (°F)394348545761636361544843
Max (°F)555764707272727272706457

Summer, however, is so cool because the monsoon rains occur almost daily, and the amount of sunshine in this season is very poor. Already in May, 20 in of rain fall, and in July even 25 in. The total annual rainfall amounts to even 140 in. The only period when there is little rain is from November to January. Although here winter is not too cold, November is preferable because it's milder.
Here is the average precipitation in Gangtok.
Average precipitation - Gangtok
Prec. (in)

In Darjeeling, West Bengal, at 6,900 feet above sea level, where the British colonists came to spend the summer in order to escape from the heat, the average goes from 41 °F in January, to 63 °F in July and August. Hence, the British found a cool summer like in England, but much more rainy, in fact there are more than 16 inches per month from June to September, and the rains occur almost daily. Here winter is quite cold, but dry and sunny.

The eternal snows in India start at around 14,800 feet on average: a bit lower in Karakorum, which lies to the north, and a bit higher in the Himalayas.

Climate north India
In this vast area of northern India, which coincides almost completely with the Indo-Gangetic plain, the climate has the following characteristics: a relatively cool winter, especially in the northern part, with average temperatures in January below 68 °F, except along the coasts of Gujarat, where it can slightly exceed this value; a scorchingly hot period from March to May, sometimes even in June, before the arrival of the monsoon; a summer monsoon from weak to moderate (zones 1 and 2 on the map) or relatively intense (zone 3), however, with an annual rainfall amount lower than 55 in, and with the withdrawal of the monsoon before the middle of October.

In the north-west of India, on the border with Pakistan (zone 1), we find an ample arid area, which covers the western part of the states of Rajasthan and Gujarat, west of the Aravalli Mountains. This is an area which receives the monsoon for a short period, from late June or the early July to mid-September, and with moderate rains. The annual amount of rainfall is lower than 16 in, but usually higher than 10 in, which is considered as the limit for the desert climate, except in the far west, where we find the Thar desert, however the rains are concentrated in such a short time, that the survival of vegetation is difficult, except for some shrubs or xerophile plants. Even in the Thar desert, however, here and there we find a bit of vegetation, albeit in a landscape of sand dunes.

Thar Desert

In Jodhpur, Rajasthan, 14.5 inches of rain per year fall, of which more than 4 inches per month only in July and August. In the rest of the year the sun usually shines.
Here is the average precipitation.
Average precipitation - Jodhpur
Prec. (in)

In winter, from December to March, the temperatures are pleasant, with cool or slightly cold nights, around 50 °F, and warm days, around 77/82 °F. Already in March the heat becomes intense, with an average maximum of 92 °F, which rise to 107 °F in May. From April to June, before the monsoon arrives, the temperature can touch in the hottest days even around 120 °F in the shade. The monsoon lowers the temperature a bit, to 97 °F in July and 93 °F in August, but on the other hand it increases moisture. After the monsoon, the temperature in September and October rises again slightly, reaching 95 °F in September and 97 °F in October, and then drops again at the end of the year, down to 80 °F in December.
Average temperatures - Jodhpur
Min (°F)505463738182817775685952
Max (°F)778291100106104979395979081

The best time to visit this area is from December to February, but if you can only travel in summer and you still want to visit India, you may choose this area, since it is the least affected by the monsoon, along with the mountains of Kashmir.
It should be noted, however, that the monsoons does not always follow a regular pattern, and in particular north-western India (along with Pakistan) is more rainy than normal in the years of La Niña, when it can experience flooding, while in other years the whole area can remain almost completely dry (in the years of El Niño, all India can experience warmer winters than normal, and weaker summer monsoons, but this does not happen always).

East of the first area we find a central area (zone 2 in the map) where the climate is semi-arid, since the annual precipitation is between 16 and 32 in. In other circumstances this would not be a low amount, but considering the high temperatures and the fact that the rains are concentrated in a few months, the vegetation which occupies this area is certainly not lush. Nevertheless, in the monsoon season there may be heavy rains.
The capital of Rajasthan, Jaipur, is located east of the Aravalli Mountains, and is therefore rainier than the desert area: here, 24 in of rain per year fall, of which 8 inches in August. In Agra, where the Taj Mahal is located, precipitation reaches 28.5 inches per year.
The capital of India, New Delhi is at the edge of the area, since it receives 31.5 in of rain per year, the majority of which occurring from July to September.
Here is the average precipitation.
Average precipitation - New Delhi
New DelhiJanFebMarAprMayJunJulAugSepOctNovDecYear
Prec. (in)

Another city which is located in this area is Amritsar, with 19 in of rain per year.

Golden Temple

Further to the east, but also in a thin band in the north located at the foot the Himalayas (zone 3), the rains are more abundant, so that they range between 32 and 55 inches per year, in cities like Lucknow, Kanpur, Varanasi, but otherwise the climate is similar to that of New Delhi. However, the far north, in Jammu, at the foot of the Himalayas, in winter some disturbance of Mediterranean origin can pass (which, as have already seen, affect also the mountainous area of Srinagar), so that 1.3 in of rain fall in December, and as many as 2.3 inches in January, February and March. From December to February, in Jammu, which is one of the most northerly cities of the plain, sometimes the minimum temperature may hit freezing or even drop a few degrees below.

Climate of northeast India
In the north-eastern area of India, the climate is more humid and less hot than the rest of the northern areas analyzed above. Here, too, winter is dry, and is very mild, with average temperatures in January slightly below 68 °F; the heating from March to May, however, is relatively felt in the area located west of Bangladesh, and not at all to the east and north, because here we are outside of the Indian landmass; the monsoon rains are abundant and sometimes torrential, and in any case the total annual rainfall exceeds 55 in); the monsoon period is quite long, as it runs from early June to early October, and it's often preceded, in April and sometimes even in March, by some thunderstorms in the afternoon, especially on mountains slopes.
West of Bangladesh, in West Bengal, we find Kolkata (Calcutta), at the limit of this area, given that the average in January is around 68 °F, so winter is pleasantly warm, due to the proximity of the sea; here the heating from March to June is evident, although not as in New Delhi, however the temperature can exceed 105 °F in the worst moments.
Average temperatures - Kolkata
Min (°F)576370777981797979756657
Max (°F)798493979793909090908479

The monsoon goes roughly from June 5 to October 15, but already in May, the first showers in the afternoon may occur. The total annual rainfall is 63 in. From November to April, the sun shines and it almost never rains.
Here is the average precipitation.
Average precipitation - Kolkata
Prec. (in)0.5111.

Near Kolkata, the sea is warm enough for swimming throughout the year, although it drops to 73/75 °F in January and February.
Sea temperature - Kolkata
Sea (°F)737579828486848484848177

In the rest of the north-east, the rains are generally more abundant, except in some areas a bit more sheltered as Guwahati, in the valley of the Brahmaputra, where it rains as in Kolkata. In general, however, precipitation exceeds 80 inches per year, and in some areas, where the currents are forced to rise along the mountain slopes, it reaches spectacular amounts. Cherrapunj, at 4,300 feet above sea level, in the northeastern state of Meghalaya, is the rainiest place in the world: here 428 in of rain per year fall, that is, almost 36 feet! Rainfall exceeds 40 inches per month for 5 months, from May to September, while in June alone even 102 in of rain fall. Luckily, here as in the rest of the region, there is little rain from mid-November to February, but already in March, when the first thunderstorms begin to occur, 8.7 in of rain fall, and in April the early monsoon brings more than 27.5 in of rain. At this altitude the temperature is pleasant, since highs are around 71.5 °F from April to October, while in winter they are around 59/63 °F.
As already mentioned, the extreme north-east (Meghalaya, Assam etc.) in spring does not heat up excessively, therefore the maximum temperatures remain around 86/90 °F in the plains from April to October.

Climate of Center-South India
In this area, which includes the whole of south-central India except the western coast and the Western Ghats, the climate is tropical, with an average in January exceeding 68 °F, but otherwise there are remarkable differences: in the north and the southern inland areas (zone A) the monsoon lasts from June to October, while along the southeastern coast (zone B) the monsoon reaches its peak at the end of the year, between October and December (called northeast monsoon or retreating monsoon). The rains are more abundant in the eastern part of both the zone A and B.
The heating in the period from March to June is strong in the interior and is also felt on the east coast. In general, in inland areas the summer rains are not more abundant than in northern India, but they are more frequent and in this season the sky is often cloudy, eg Nagpur and Bangalore in July have only 3 hours of sunshine per day, compared with the 6 of New Delhi.

Now let's start from the A area.
In Nagpur, Maharastra, the average temperature goes from 70 °F in January, to 95 °F in May, to 82 °F in July. The annual rainfall amounts to 46 in, of which more than 6 inches per month from June to September, with a maximum of 13.5 inches in July. There is little rain from October to May. Here the best time, as in most of India, is from November to February.
Further south, in the Puna district, 18,000 feet above sea level, the temperature is slightly lower in the warmer months: the average maximum in May is 100 °F, and the rains amount to just 27.5 inches per year, because the city is protected by the near Western Ghats. Here, more than 4 inches per month fall from June to September, but always less than 8 in, and still in October 3.5 in fall: the monsoon lasts a little more because the city is located further to the south. This is one of the driest areas of south-central, with a semi-arid landscape.
Further south, in Hyderabad, 1,800 feet above sea level in Andhra Pradesh, the daily average goes from 71.5 °F in January to 91 °F in May, dropping to 81 °F in July.
Average temperatures - Hyderabad
Min (°F)596470757975737272686359
Max (°F)84909510010295888688888482

The rainfall amounts to 30 in, of which more than 4 in from June to September, and 2.8 inches in October, so we are still in a semi-arid zone.
Here is the average precipitation.
Average precipitation - Hyderabad
Prec. (in)

Going further south, in Anantapur, still in Andhra Pradesh, the heat is further anticipated, since already in February the maxima rises around 91 °F; besides, here in May there's some thunderstorm activity which precedes the monsoon itself, but then the monsoon is considerably weakened in the early months, so much so that just 2.4/2.8 inches per month fall from June to August, although high humidity and cloudy skies make it clear that we are in the monsoon period. The monsoon, however, becomes more intense in September and October, which are the wettest months, with respectively 4.7 and 6 in. The total annual rainfall is still relatively low: only 25.5 in.
In Bangalore, in southern Karnataka, 3,000 feet above sea level, the heat is tempered by the altitude.
Average temperatures - Bangalore
Min (°F)596366707068666666666359
Max (°F)818691939184828282828179

Here in May already 4.5 in of rain fall, then the monsoon goes from June to mid-November. The rainfall amounts to 36 inches per year. Here is the average precipitation.
Average precipitation - Bangalore
Prec. (in)

We now come to the B area. Here we are on the east coast, where it's hot all year round. If the west coast down to Trivandrum is very rainy, in the southern coastal portion, rainfall is less than 40 inches per year, and even less than 31 inches per year in the western part. It's the case of Kanyakumari, at the southern tip of the country, in the state of Tamil Nadu, where it's hot throughout the year, since the average maximum never drops below 86 °F, while the rains, after an initial period of instability from April to June, with some thunderstorms not too intense, experience a relative break from July to September with just 1.5/1.8 inches per month, while the real monsoon is late and limited to the months of October and November. So here we are in the area where the "northeast monsoon" or "retreating monsoon" prevails, typical of the south-eastern coast, but due to the lack of rain, just 29 inches per year, we are still in the semi-arid zone. In this portion of the southern coast, you can come from mid-December to February, and also March-April even though it is the hottest time of the year (because it's not so hot as in the interior). All in all, even the period July-September is generally acceptable, but it is wet, often cloudy, and with the risk of some tropical storm or cyclones (see below).
Moving north along the east coast, we find the Coromandel coast, where the rains are more abundant. The maximum rainfall is recorded in the area of Pondicherry, Tamil Nadu, where 67 in of rain per year fall, with a peak between October and December.

Even in Chennai (formerly Madras), the late monsoon is pronounced, since precipitation is about 10.4 inches in October, 12 inches in November, and still 6 inches in December.
Here is the average precipitation.
Average precipitation - Chennai
Prec. (in)

Here, the best time is reduced to January and February, when it's hot, the sun is shining and you can go to the beach.
Average temperatures - Chennai
Min (°F)687073798281797977757370
Max (°F)848891959999959593908482

The Bay of Bengal at this latitude is warm all year round, as you can see from the sea temperatures at Chennai.
Sea temperature - Chennai
Sea (°F)818182848686848484848281

Climate of South-west India and islands
Along the west coast and on the islands (Lakshadweep in the Arabian Sea, Andaman and Nicobar in the Bay of Bengal), the climate is hot and humid throughout the year, with heavy rains for several months, but also with a winter break.
Along the west coast it's hot throughout the year, while the monsoon period is extended gradually as you proceed from north to south. During winter the temperatures are particularly high for the season, because in winter the north-easterly winds descend from the Western Ghats and slightly warm up with a foehn-like effect.
In Mumbai (formerly Bombay) even in January highs exceed 85 °F, however, lows drop albeit slightly below 68 °F. From November to May, the rains are scarce and the sun is frequent. From March to May the temperature increases, but not as much as in the interior: the minimum at night goes up to 75/80 °F, the maximum reaches around 92 °F, even though in the worst moments it can touch 105 °F.
Average temperatures - Mumbai
Min (°F)636470757979777775737064
Max (°F)888891919190868686919390

The monsoon lasts from June to early October and is very intense, especially in July when 31.5 in of rain fall and it rains very often. In July and August, the sky is almost always cloudy and the humidity high. In Mumbai, about 89 in of rain per year fall.
Here is the average precipitation.
Average precipitation - Mumbai
Prec. (in)00000.620.731.520.912.

The sea temperature in the Arabian Sea is warm enough for swimming all year round, as you can see from the water temperatures at Mumbai.
Sea temperature - Mumbai
Sea (°F)797779818484848282848279

Continuing south along the coast, the climate becomes even more rainy. In Panaji, in the former Portuguese colony of Goa, precipitation reaches 115 inches per year, of which even 39 inches in July.
Here is the average precipitation.
Average precipitation - Goa
Prec. (in)0000.44.534.339.

The temperature is high throughout the year, and even in winter it remains about 67 °F at night.
Average temperatures - Goa
Min (°F)687073797977757575757270
Max (°F)909090919186848486909190

The sea temperature in Goa is steadily high throughout the year, and in winter it's a bit warmer than in Mumbai.
Sea temperature - Goa
Sea (°F)828282848684828282848482

Further south, in Mangalore, Karnataka, where the Malabar Coast begins, the daytime temperature is 91 °F even in January, and precipitation reaches 130 inches per year. Here the first thunderstorms occur in May, while the monsoon runs from June 5 to October 15 or so.
Further south, in Calicut, Kerala, the first thunderstorms occur in April, while the monsoon lasts until November, when 5 in of rain still fall.
In Trivandrum, the southern tip of Kerala, the rains are less abundant, amounting to 67 inches per year, but the rainy season is very long: as early as April 4.3 in of rain fall in the form of showers and thunderstorms, and 6.7 in still in November. In this southernmost part of the west coast, therefore, even the retreating monsoon is noticeable.
The west coast is very rainy, because in the east there's the mountain range of the Western Ghats, which forces the ascent of the moist air coming from the sea. Along the western mountain slopes the rains are more abundant, so much so that in some places they even reach 20 feet of rain per year! The scenario is very different on the eastern side, where the south-west monsoon penetrates with difficulty, and as we saw the rainfall drops below 40 inches per year. During the empire, the British who were in this area, in summer took refuge in Ootacamund (Aka Ooty or Udhagamandalam), at 7,200 feet above sea level, 60 miles east of the coast of Calicut, where the summer monsoon is still felt, and partly that of autumn (the retreating monsoon), but not too much, so that more than 4 inches per month from May to November fall, with two peaks in July and October. Here is the average precipitation.
Average precipitation - Ooty
Prec. (in)0.80.4135.

In return, during the monsoon period the temperature is cool, with highs around 63/64 °F in July and August, and about 50/52 °F at night. Here winter is a bit colder at night and a bit warmer during the day, compared with the months where the monsoon dominates, because in winter the skies are clear.
Average temperatures - Ooty
Min (°F)434548525252525250504845
Max (°F)687072737264636366666668

We now turn to the islands. Here the climate is hot all year round, with night temperatures around 75/77 °F and highs around 82/86 °F; here too there's an increase in temperature between March and May, but it's not remarkable.
In the Lakshadweep Islands, located in the Arabian Sea, from 60 to 80 in of rain per year fall, and the rains go from May to mid-December. Since the temperature increases slightly from March, here the best time is from late December to February.
In the Andaman and Nicobar Islands, located in the Bay of Bengal, the rains are a bit heavier, since they range from 100 to 120 inches per year. The rains are abundant and the sun rarely shines from May to November. In Car Nicobar, in the southern islands, the rains continue even in December and mid-January, while they end earlier in Port Blair and in the northernmost regions. You can then go from late January to mid-April in the southern islands, and from late December to mid-April in northern ones.
Here is the average precipitation in Port Blair, in the Andaman Islands.
Average precipitation - Port Blair
Port BlairJanFebMarAprMayJunJulAugSepOctNovDecYear
Prec. (in)

In the islands the temperatures are high throughout the year, with lows regularly above 68 °F.
Average temperatures - Port Blair
Port BlairJanFebMarAprMayJunJulAugSepOctNovDec
Min (°F)737373777775757575757575
Max (°F)848690918886848484868684

Even in the southern islands, the sea is steadily warm all year round.
Sea temperature - Port Blair
Port BlairJanFebMarAprMayJunJulAugSepOctNovDec
Sea (°F)828284868684848282848482

Areas affected by cyclones in India
We now speak of tropical cyclones. They are more common on the Bay of Bengal than the Arabian Sea, but they are also possible in the latter. In South India, towards the tip of the continent, cyclones can penetrate inland and pass from sea to sea; in the eastern part they may penetrate for a few hundred miles along a trajectory that goes from the south-east to the north-west; in the north-west they may affect the coast of Gujarat. The map shows the areas that have been hit by cyclones in the past and is therefore only indicative: nothing prevents a cyclone from following a different trajectory, although it is unlikely. The period of cyclones lasts from May to November. The area which is most at risk is that of Bengal, in the huge delta of the Ganges-Brahmaputra, where there is water everywhere and the mainland is flat and located at sea level.

In India, there are different types of climate, so it is difficult to find a single period which is best for all the country. However, the best time to visit most of India, at least in plains and hills, runs from mid-November to February. On the south-east coast and the southern islands, the rains continue until December, so you can go in January and February. March is still a dry month, but it begins to be hot, with peaks that during the month can exceed 95 °F in the south.
If you can only travel in summer, you can choose the northwest: in Rajasthan the monsoon is less intense; you will find a muggy heat and some downpours, usually not abundant. Even the mountains of Jammu and Kashmir can be visited in summer, because they are located in a "rain shadow" area. A very different situation is found on the eastern part of the Himalayas, which is affected by the summer monsoon in full.
As mentioned, the sea in India is warm enough for swimming all year round. For a beach vacation, the west coast (see Goa) is good from December to February, the eastern coast only in January and February.

What to pack

In winter: in the far north at low altitude (Jammu, Amritsar) and the southern mountainous areas (Ootacamund), spring/autumn clothes, sweater and warm jacket for the evening.
In the north (New Delhi, Jaipur, Varanasi, Patna), spring/autumn clothes, light for the day, a jacket and a sweater for the evening, possibly hat and scarf for cooler evenings.
In the center and in the inland south-central areas (Calcutta, Hyderabad), light clothes for the day, sweater and light jacket for the evening.
On the south-central coast (Mumbai, Goa, Trivandrum, Chennai, Pondicherry), light clothing, a scarf for the breeze, a light sweatshirt for the evening; on the south-east coast (Chennai, Pondicherry), light raincoat or umbrella still in December.
In the islands (Lakshadweep, Andaman and Nicobar Islands), light clothing, a scarf for the breeze, light sweatshirt for the evening, light raincoat or umbrella until December or mid-January.
For the reef, equipment for snorkeling, water shoes or rubber soled shoes.
In the Himalayas: around 5,000/6,500 feet (see Srinagar, Darjeeling), warm clothes, jacket, hat, scarf. Above 6,500 feet, warm winter clothes, hiking boots, sunglasses, sunscreen. At the highest altitudes, cold weather clothing, synthetic thermal long underwear, gloves, down jacket, hat, scarf.

In summer: in all areas at low altitude, tropics-friendly, loose fitting clothing, made of natural fibers, light raincoat or umbrella, a light sweatshirt and a scarf for air conditioned places; desert turban in the north-west; a scarf for the breeze on the coast, a light sweatshirt for the evening at low-mountain elevations (see Bangalore).
In the southern mountains (see Ootacamund), spring/autumn clothes, raincoat, sweater, jacket.
In the Himalayas: around 6,500 feet (see Darjeeling), spring/autumn clothes, raincoat, jacket, sweater. At the highest altitudes, warm jacket, down jacket, hat, gloves, scarf.

To enter temples, it is customary to remove shoes, dress neatly and cover a little.
In rural areas, closed-toe shoes may be useful against snakes.