রাতকানা রোগের কারণ হলোঃ খাবারে ভিটামিন এ-এর অভাব৷ • বাচ্চা অল্প ওজনে জণ্ম হলে এবং অপুষ্টিতে ভোগা শিশুর এই রোগ বেশি হয়৷ • ডায়রিয়া, হাম, নিউমোনিয়া ইত্যাদি হলে শরীরে ভিটামিনের অভাব হয়৷ • বাড়ন্ত বয়সে অতিরিক্ত খাদ্যের চাহিদা পূরণ করতে না পারলে এই রোগ হতে পারে৷