Laisvos formos kalba yra kompiuterinė kalba, kurios kodavimas gali būti išdėstytas bet kurioje eilutėje ir vis tiek galioja. Tai reiškia, kad kodas gali prasidėti vienoje eilutėje, baigtis keliomis eilutėmis žemyn ir vis tiek gali būti tinkama komanda. Padėties nustatymas kartais yra šiek tiek svarbus naudojant sugrupuotus elementus, nes programavimas turi būti grupės viduje, tačiau jis vis tiek gali būti išdėstytas bet kurioje eilutėje. Yra keletas programavimo kalbų, kuriose naudojami laisvos formos kalbos elementai, tačiau jos nėra visiškai laisvos formos. Šio tipo programavimo pranašumas yra tas, kad programuotojai gali daug lengviau įvesti kodą, nesijaudindami dėl eilučių lūžių, o ir sauga, ir trikčių šalinimas paprastai yra geresni.
Kai kuriose programavimo kalbose padėties nustatymas yra labai svarbus. Pavyzdžiui, jei pusė komandos yra vienoje eilutėje, o kita pusė yra kitoje eilutėje, tada komanda nebus inicijuota, nes ji negalioja. Naudojant laisvos formos kalbą, gali būti be galo daug eilučių lūžių, o komanda vis tiek galios. Tuo pačiu metu, nors padėties nustatymas nėra svarbus, sintaksė yra svarbi, todėl kai kurios komandos turi ateiti po kitų, kad veiktų taip, kaip numatyta.
Priklausomai nuo pačios laisvos formos kalbos, daugelis programavimo kalbų turi sugrupuotus elementus, kuriuose grupės pradžia ir pabaiga yra apsupta skliaustų ar panašių simbolių. Padėties nustatymas paprastai yra šiek tiek svarbesnis grupinėje atmosferoje, nes komandos turi būti grupės viduje, kad būtų galiojančios. Tuo pačiu metu, kol jie yra grupėje, nesvarbu, ar visos komandos yra vienoje eilutėje, ar jos turi keletą eilučių lūžių.
Dauguma programavimo kalbų yra laisvos formos arba ne, tačiau yra keletas išimčių, kai programavimo kalba gali derinti abi. Šiuo atveju tai yra tarsi laisvos formos kalba, nes kai kurie elementai, pavyzdžiui, lentelės ar tam tikros grupės, gali būti laisvos formos, tačiau kiti elementai turi būti tinkamai išdėstyti. Šios kalbos paprastai turi tik keletą laisvos formos elementų.
Laisvos formos kalbos pranašumai gali atrodyti ne tokie dideli, nes tai tiesiog leidžia programuotojui įdėti kodavimą į bet kurią eilutę ir tai veikia, tačiau yra keletas didelių privalumų. Viena vertus, programuotojas neturi praleisti laiko tikrindamas, ar tinkamai nustatyta padėtis, todėl įprastai lengviau pašalinti neteisingo kodo triktis. Jei programuotojas nori padidinti saugumą, jis gali įdėti visą kodą vienoje ilgoje horizontalioje eilutėje. Tai sunku perskaityti, todėl žmonėms sunkiau pavogti.