The best time to visit India is between October and March. It majorly covers the winters and beginning of summers. Below is the season wise breakup along with the places which can be visited during that season:
Winter Season (October to March) :
Winter is the best time to cover most of the destinations/ attractions in India. Rajasthan, Gujarat, Mumbai, Kerala, Goa, Agra, Varanasi and Punjab can be visited anytime during this season whereas Jammu & Kashmir is perfect to be visited during October and the best time to explore the east and north-eastern regions of India like Assam, West Bengal, Arunachal Pradesh and Sikkim is from October to January. For those wanting to explore the destinations situated near foothills of the Himalayas like Shimla, Nainital, Dharamshala, Manali, Mussoorie and Rishikesh, February to May is the best time. The temperature is at the lowest between December and January and some of the regions may be shut due to heavy snowfall and landslides.
Monsoon Season (June to September) :
This is the perfect time to visit the hilly areas in the Himalayan region. Ladakh and other high Himalayan passes open during this time. This is also a good time to visit Valley of Flowers in Uttarakhand to experience meadows of a variety of flora. The southern part of India (Kerala, Goa, Karnataka etc) witnesses heavy rainfall and springs to life. It is good to visit these parts during this season if you are not averse to rain.
Summer Season (April to June) :
The months of April to June experience scorching heat in almost every part of the country. People generally escapes to the hill stations during this time.