Kompyuter software, o kahit software lamang ay pangkat ng mga utos na nababasa ng makinang nangangasiwa sa processor ng kompyuter para gumawa ng mga tiyak na operasyon. Magkaiba ang software ng kompyuter sa pisikal na bahagi nito, ang hardware. Kailangan ng software at hardware ang isa't-isa at hindi mo talaga sila magagamit kung wala ang isa. Gamit ang musikal na analohiya, ang hardware ay parang instrumentong pangmusika at ang software ay parang sheet music.
Kasama sa kompyuter software ang mga programa, mga library at ang kanilang mga kaugnay na dokumentasyon. Ang salitang software ay ginagamit din minsan sa mas mababaw na kahulugan, na ang ibig sabihin ay application software lamang.
Sa pinakamababang lebel, ang executable code ay binubuo ng utos ng machine language na tiyak sa isang indibidwal na processor - kadalasan ang central processing unit. Ang machine language ay binubuo ng grupo ng mga 0 at 1 na pinapahiwatig ang utos ng processor kung saan binabago nito ang estado ng kompyuter mula sa nakaraan nitong estado. Halimbawa, maaaring baguhin ng isang utos ang halaga na nakatago sa isang partikular na lugar sa loob ng kompyuter - isang epekto na hindi direktang nakikita ng gumagamit. Pwede rin ang isang utos ang maging dahilan para may lumabas na isang bagay sa display ng kompyuter - isang pagbabagong makikita ng gumagamit. Isinasagawa ng processor ang mga utos sa ayos na ibinigay sa kanila, maliban na lamang kung inutusan itong "tumalon" sa ibang utos, o natigil.
Unang ginamit ang katagang ito sa ganitong kaisipan ni John W. Tukey noong 1958.[1].
Ilan sa kabilang rito ay:
Ginagamit din minsan ang katagang "software" sa malawakang pagtukoy sa anumang bagay na ginagamit ng hardware ngunit hindi nananatili rito gaya ng mga pilm, tape at mga record.[2]