Vabas vormis keel on arvutikeel, milles kodeeringut saab paigutada mis tahes reale ja see on endiselt kehtiv. See tähendab, et kood võib alata ühel real, lõppeda mitu rida allapoole ja olla endiselt kehtiv käsk. Positsioneerimine on mõnikord rühmitatud elementide puhul mõnevõrra oluline, sest programmeerimine peab olema grupi sees, kuid selle saab siiski paigutada mis tahes reale. On mõned programmeerimiskeeled, mis kasutavad vabas vormis keeleelemente, kuid need pole täiesti vabas vormis. Seda tüüpi programmeerimise eeliseks on see, et programmeerijatel on palju lihtsam koodi sisestada, ilma et nad peaksid muretsema reavahede pärast, ning nii turvalisus kui ka tõrkeotsing on tavaliselt paremad.
Mõnes programmeerimiskeeles on positsioneerimine väga oluline. Näiteks kui pool käsku on ühel real ja teine pool teisel real, siis käsk ei käivitu, kuna see on kehtetu. Vabas vormis keeles võib reavahetusi olla lõpmatu arv ja käsk jääb kehtima. Samal ajal, kuigi positsioneerimine pole oluline, on süntaks, nii et mõned käsud peavad tulema teiste järel, et need töötaksid nii, nagu ette nähtud.
Olenevalt vabavormilisest keelest on paljudes programmeerimiskeeltes rühmitatud elemente, milles rühma algus ja lõpp on ümbritsetud sulgude või sarnaste märkidega. Positsioneerimine on tavaliselt grupeeritud õhkkonnas pisut olulisem, kuna käsud peavad kehtima rühmasiseselt. Samal ajal, kuni nad on rühmas, pole vahet, kas kõik käsud on ühel real või on neil mitu reavahetust.
Enamik programmeerimiskeeli on kas vabas vormis või mitte, kuid on mõned erandid, mille puhul programmeerimiskeel võib kombineerida mõlemat. Sel juhul on see nagu vabavormiline keel, kuna mõned elemendid, näiteks tabelid või teatud rühmad, võivad olla vabas vormis, kuid teised elemendid peavad olema õigesti paigutatud. Nendel keeltel on tavaliselt vaid mõned vabas vormis elemendid.
Vabas vormis keele eelised ei pruugi tunduda nii suured, sest see võimaldab programmeerijal paigutada kodeeringud suvalisele reale ja panna see tööle, kuid sellel on mõned suured eelised. Esiteks ei pea programmeerija kulutama aega õige asukoha kontrollimiseks, seega on vale koodi tõrkeotsing tavaliselt lihtsam. Kui programmeerija soovib turvalisust suurendada, saab ta kogu koodi paigutada ühele pikale horisontaalsele reale. Seda on raske lugeda, mistõttu on inimestel raskem varastada.