Arvutitarkvara on programm, mis võimaldab omanikul oma arvutit kasutada. Riistvara koosneb kõigist arvuti füüsilistest komponentidest ja tarkvara koosneb programmidest, mis on kompileeritud riistvara töötamiseks. Tarkvara tüübid hõlmavad operatsioonisüsteeme, rakendusi ja kompilaatoreid arvutiprogrammide kirjutamiseks. Suurem osa tarkvarast on loodud nii, et neid oleks lihtne installida ja kasutada, nii et igal tarbijal on sellele juurdepääs. Teised tüübid on arenenumad ja nõuavad nende kasutamiseks arvutiprogrammeerimiskeelte tundmist.
Operatsioonisüsteemi peetakse sageli arvutitarkvara kõige olulisemaks osaks. See on programm, mis võimaldab kasutajal suhelda arvuti sisemiste komponentidega selliste sisendite kaudu nagu hiir ja klaviatuur ning edastada virtuaalseid pilte arvutimonitorile. Windows, Macintosh ja Linux on operatsioonisüsteemide näited. Need süsteemid võimaldavad kasutajal muu hulgas käitada muid tarkvaraprogramme, printida üksusi ja surfata Internetis. Samuti aitavad need arvuti kõikidel sisemistel komponentidel sujuvalt töötada, võimaldades neil omavahel ja erinevate kasutajasisenditega suhelda, mälu jaotada ning käivitada ja sulgeda erinevaid tarkvaraprogramme.
Rakendus on arvutitarkvara, mis lisatakse operatsioonisüsteemi peale. Mõiste arvutiprogramm viitab kõige sagedamini rakendustele. Need võivad hõlmata tekstitöötlusprogramme, Interneti-brausereid ja enamikku muud tüüpi tarbijaprogramme. Arvuteid müüakse tavaliselt juba installitud rakendustega, nagu tekstitöötlusprogramm, Interneti-brauser ja muusikapleier. Tarbijad saavad osta lisarakendusi, laadides need alla Internetist või ostes neid CD-ROM-ide, DVD-de või muudes vormingutes. Seejärel peab kasutaja rakenduse käivitamiseks installima. Mõned rakendused, näiteks videotöötlus- või raamatupidamisprogrammid, peab kasutaja ise käivitama ja kasutama. Muud arvutitarkvara osad töötavad taustal ilma suurema etteteatamiseta, näiteks viirusetõrjeprogrammid.
Kogenumad kasutajad ostavad mõnikord arvutitarkvara, mida saab kasutada uute arvutiprogrammide kirjutamiseks, testimiseks ja juurutamiseks. Nende programmidega on sageli kaasas tarkvarakompilaator, mis on spetsiifiline konkreetse arvuti programmeerimiskeele jaoks, näiteks Java või Visual Basic. Selle tarkvara abil saab programmeerija kirjutada arvutiprogrammi, seda testida ja muid täiustatud funktsioone täita.