نرمافزار (به انگلیسی: software) گردآوردی از دستورالعمل و داده است که به رایانه میگوید «چگونه کار کن». این مفهوم در برابر سختافزار فیزیکی قرار دارد، که توسط آن سامانه ساخته شده است، و «در واقعیت کار را انجام میدهد». در علوم رایانه و مهندسی نرمافزار، یک نرمافزار رایانهای همه اطلاعاتی است که توسط سامانه رایانهای پردازش میشود، که شامل برنامهها و داده است. نرمافزار رایانهای شامل برنامههای رایانهای، کتابخانهها، و دادههای مرتبط غیرقابلاجرا (مثل مستندات برخط و رسانههای دیجیتالی) است. سختافزار و نرمافزار رایانهای به هم احتیاج دارند، و هیچکدام به صورت واقعی قابل استفاده به خودی خود نیست.
دو گروه کلی نرمافزارها
نرمافزار رایانه دو دسته است:- نرمافزار سیستم
- نرمافزار کاربردی