תוכנה, שם קיבוצי לכלל התוכניות המצויות במחשב (או במערכת אלקטרונית משובצת-מחשב), או הזמינות לשימוש במחשב. כל תוכנית היא רצף של פקודות ודפוסים המורים לבצע סדרת פעולות, על פי סדר מסוים בהתאם ובהמשך לדרישות המשתמש. הפקודות נכתבות בסדר לוגי מסוים ועל פי כללים תחביריים קבועים ומלים "שמורות", בשפות מחשב שונות - בהתאם לצרכים, לסביבת העבודה ועוד. התוכנה עושה שימוש בחומרה ובאמצעי הקלט והפלט של המחשב, ומסוגלת לבצע פעולות בהידברות עם המשתמש, או באופן אוטומטי.
חומרת מחשב בלא תוכנה אינה יכולה לעשות מאומה, כשם שלתוכנה אין משמעות בלי חומרת מחשב שבתוכה תפעל. התוכנה זקוקה מלבד זאת גם לנתונים שבהם תבצע את פעולותיה.
נהוג להבחין בין סוגים שונים של תוכנות, כדלקמן:
קושחה (firmware) – תוכנה שמהווה...