Un limbaj cu formă liberă este un limbaj de calculator în care codarea poate fi poziționată pe orice linie și poate fi încă valabilă. Aceasta înseamnă că un cod poate începe pe o linie, poate termina mai multe rânduri în jos și poate rămâne o comandă validă. Poziționarea uneori este oarecum importantă cu elementele grupate, deoarece programarea trebuie să fie în cadrul grupului, dar poate fi poziționată totuși pe orice linie. Există câteva limbaje de programare care folosesc elemente de limbaj cu formă liberă, dar nu sunt complet libere. Avantajul acestui tip de programare este că programatorilor le este mult mai ușor să tasteze codul fără a fi nevoiți să-și facă griji cu privire la întreruperile de linie, iar atât securitatea, cât și depanarea sunt de obicei mai bune.
În unele limbaje de programare, poziționarea este foarte importantă. De exemplu, dacă jumătate de comandă este pe o linie și cealaltă jumătate este pe altă linie, atunci comanda nu va iniția, deoarece este invalidă. Cu un limbaj cu formă liberă, poate exista un număr infinit de întreruperi de linie, iar comanda va fi încă valabilă. În același timp, deși poziționarea nu este importantă, sintaxa este, așa că unele comenzi trebuie să vină după altele pentru a funcționa conform intenției.
În funcție de limbajul cu formă liberă în sine, multe limbaje de programare au elemente grupate în care începutul și sfârșitul grupului sunt înconjurate de paranteze sau caractere similare. Poziționarea este de obicei puțin mai importantă într-o atmosferă grupată, deoarece comenzile trebuie să fie în cadrul grupului pentru a fi valide. În același timp, atâta timp cât sunt în grup, nu contează dacă toate comenzile sunt pe o singură linie sau dacă au mai multe întreruperi de linie.
Majoritatea limbajelor de programare sunt fie libere, fie nu, dar există câteva excepții în care un limbaj de programare le poate combina pe ambele. În acest caz, este ca un limbaj cu formă liberă, în care unele elemente, cum ar fi tabelele sau anumite grupuri, pot avea formă liberă, dar celelalte elemente trebuie să fie poziționate corect. Aceste limbi au în mod normal doar câteva elemente de formă liberă.
Avantajele unui limbaj cu formă liberă pot să nu pară atât de mari, deoarece acest lucru îi permite programatorului să plaseze codarea pe orice linie și să o facă să funcționeze, dar există câteva avantaje mari. În primul rând, programatorul nu trebuie să petreacă timp verificând poziționarea corectă, astfel încât depanarea codului incorect este în mod normal mai ușoară. Dacă programatorul dorește să sporească siguranța, atunci el poate plasa tot codul pe o linie orizontală lungă. Acest lucru este greu de citit, ceea ce face ca oamenii să fure mai greu.