ซอฟต์แวร์ (Software) หมายถึง สิ่งที่ไม่สามารถจับต้องได้ ทำหน้าที่ควบคุมให้เครื่องคอมพิวเตอร์ทำงานตามตามความต้องการ ชอฟต์จะถูกพัฒนาจากภาษาต่างๆ ชอฟต์แวร์แบ่งออกเป็น 2 ประเภทคือ
1. ซอฟแวร์ระบบ (System Software) หมายถึง โปรแกรมที่มีหน้าที่ควบคุมการทำงานของฮาร์ดแวร์ทุกอย่างและอำนวยความสะดวกให้กับผู้ใช้เครื่อง คอมพิวเตอร์ แบ่งออกเป็นโปรแกรมตามหน้าที่การทำงานดังนี้
1.1 OS (Operating System) คือ โปรแกรมระบบที่ทำหน้าที่ควบคุมการใช้งานส่วนต่าง ๆ ของเครื่องคอมพิวเตอร์ เช่น ควบคุมหน่วยความจำ ควบคุมหน่วยประมวลผล ควบคุมหน่วยรับและควบคุมหน่วยแสดงผล ตลอดจนแฟ้มข้อมูลต่าง ๆ ให้มีประสิทธิภาพในการทำงานสูงที่สุด และสามารถใช้อุปกรณ์ทุกสาวนของคอมพิวเตอร์และช่วยจัดการกระบวนการพื้นฐานที่สำคัญ ๆ ภายในเครื่องคอมพิวเตอร์ เช่นการเปิด หรือปิดไฟล์ การสื่อสารกันระหว่างชิ้นส่วนต่าง ๆ ภายในเครื่อง การส่งข้อมูลออกสู่เครื่องพิมพ์หรือสู่จอภาพ เป็นต้น ก่อนที่คอมพิวเตอร์แต่ละเครื่องจะสามารถอ่านไฟล์ต่าง ๆ หรือสามารถใช้ซอฟต์แวร์ต่าง ๆ ได้จะต้องผ่านการดึงระบบปฏิบัติการออกมาฝังตัวอยู่ในหน่าวความจำก่อน ปัจจุบันนี้มีโปรแกรมระบบบอยู่หลายตัวด้วยกันซึ่งแต่ละตัวนั้นก็เป็นโปรแกรมระบบปฏิบัติการเหมือนกัน แต่ต่างกันที่ลักษณะการทำงานจะไม่เหมือนกัน
1.2 Translation Program คือโปรแกรมที่ทำหน้าที่ในการแปลโปรแกรมหรือชุดคำสั่งที่เขียนด้วยภาษาที่ไม่ใช่ภาษาเครื่อง หรือภาษาเครื่องที่ไม่เข้าใจให้เป็นภาษาที่เครื่องสามารถรู้เรื่องเข้าใจ และนำไปปฏิบัติได้ เช่น ภาษา BASIC ,COBOL,C, PASCAL, FORTRAN, ASSEMBLY เป็นต้น สำหรับตัวแปลนั้นจะมี 3 แบบคือ
Assembler เป็นโปแกรมที่ใช้แปลภาษาแอสแซมบลี ซึ่งมีลักษณะการแปลทีละคำสั่ง เมื่อทำตามคำสั่งนั้นเสร็จแล้ว ก็จะแปลคำสั่งถัดไปเรื่อย ๆ จนจบ
Interpreter เป็นโปรแกรมที่ใช้แปลภาษาเบสิก โดยจะแปลทีละคำสั่งแล้วทำตามคำสั่งนั้น แล้วแปลต่อไปเรื่อย ๆ จนจบโปรแกรม
Compiler เป็นโปรแกรมที่ใช้แปลภาษาระดับสูงให้เป็นภาษาเครื่อง ซึ่งจะแปลทั้งโปรแกรมให้เสร็จก่อน จากนั้นจึงจะปฏิบัติตามคำสั่งทีละคำสั่ง
1.3 Utility Program คือ โปรแกรมระบบที่ทำหน้าที่ในการอำนวยความสะดวกให้กับผู้ใช้เครื่องคอมพิวเตอร์ ให้สามารถทำงานได้สะดวก รวดเร็วและง่ายขึ้น เช่น โปรแกรมที่ใช้ในการเรียงลำดับข้อมูล โปรแกรมโอนย้ายข้อมูลจากชนิดหนึ่งไปยังอักชนิดหนึ่ง โปรแกรมรวบรวมข้อมูล 2 ชุดเข้าด้วยกัน โปรแกรมคัดลอกข้อมูลเป็นต้น
1.4 Diagnostic Program คือ โปรแกรมระบบที่ทำหน้าที่ตรวจสอบข้อผิดพลาดใน การทำงานของอุปกรณ์ต่าง ๆ ของเครื่องคอมพิวเตอร์ ได้แก่ โปแกรม QAPLUS โปรแกรม NORTON เป็นต้น และเมื่อพบข้อผิดพลาดก็จะแจ้งขึ้นบนจอภาพให้ทราบ
2. ซอฟแวร์ประยุกต์ (Application Software) หมายถึง โปรแกรมที่ผู้ใช้คอมพิวเตอร์เป็นผู้เขียนมาใช้งานเอง เพื่อสั่งให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งตามที่ต้องการ ซึ่งแบ่งได้ดังนี้
2.1 User Program คือ โปรแกรมที่ผู้ใช้เขียนมาใช้เอง โดยใช้ภาษาระดับต่าง ๆ ทางคอมพิวเตอร์ เช่น ภาษา BSDIC , COBOL , PSDCSL , C , ASSEMBLY FORTRAN Java, Visual Basic 6, .net, C,C# ฯลฯ ซึ่งการที่จะเลือกใช้ภาษาใดนั้นก็ขึ้นอยู่กับความเหมาะสมของงานเหล่านั้นด้วย เช่น โปรแกรมระบบบัญชี, โปแกรมควบคุมสต็อกสินค้า, โปแกรมแฟ้มทะเบียนประวัติ โปรแกรมคำนวณภาษี,โปรแกรมคิดเงินเดือน เป็นต้น
2.2 Package Program คือ โปรแกรมสำเร็จรูปซึ่งเป็นโปรแกรมที่ถูกสร้างหรือเขียนขึ้นมาโดยบริษัทต่าง ๆ เสร็จเรียบร้อยแล้วพร้อมที่จะนำไปใช้งานต่าง ๆ