Anand was originally supposed to star famous Bollywood actors Kishore Kumar and Mehmood in the lead roles.One of the producers, N.C. Sippy, had earlier served as Mehmood's production manager. The character Babu Moshai was to be played by Mehmood.
Hrishikesh was asked to meet Kishore Kumar to discuss the project. However, when Hrishikesh Mukherjee went to Kishore Kumar's house, he was driven away by the gatekeeper due to a misunderstanding. Kishore Kumar (himself a Bengali) had done a stage show organized by another Bengali man, and he was involved in a fight with this man over money matters. He had instructed his gatekeeper to drive away this "Bengali", if he ever visited the house. When Hrishikesh Mukherjee (also a Bengali) went to Kumar's house, the gatekeeper mistook him for the "Bengali" that Kishore Kumar had asked him to drive away. The incident hurt Mukherjee so much that he decided not to work with Kumar. Consequently, Mehmood had to leave the film as well, and new actors (Rajesh Khanna and Amitabh Bachchan) were signed up.
The character of Anand was inspired by Raj Kapoor, who used to call Hrishikesh Mukherjee as "Babu Moshay". It is believed that Mukherjee wrote the film when once Raj Kapoor was seriously ill and he thought that he may die. The film is dedicated to "Raj Kapoor and the people of Bombay."
Later, Anand was remade in Malayalam, with the name Chitrashalabham (Butterfly) starring Jayaram and Biju Menon.