Tcl (Tool Command Language) – język skryptowy o składni częściowo podobnej do języków skryptowych powłok oraz częściowo do Lispu. Jest znany z pakietu Tk (Tk Toolkit), który pozwala na pisanie przenośnych graficznych interfejsów użytkownika (GUI) dla wielu systemów operacyjnych oraz pakietu Expect, który pozwala na automatyzację zadań.
Autorem zarówno języka Tcl jak i pakietu Tk jest John Ousterhout. Autorem pakietu Expect jest .
Właściwości w Tcl-u wszystkie właściwości uzyskuje się przy pomocy komend, również konstrukcje językowe nadzwyczajny przepływ sterowania (głównie break i continue w pętlach) uzyskuje się mechanizmem podobnym do wyjątków wszystko może być dodane lub przedefiniowane w czasie działania programu każda dana, niezależnie od typu (pod warunkiem, że jest to typ zdefiniowany przez język) może być potraktowana jako napis skrajnie uproszczona składnia wbudowane sterowanie przez zdarzenia (w tym: zdarzenia na gniazdach, plikach, czasowe lub też definiowane przez użytkownika) rozszerzalność (rozszerzenia muszą mieć jedynie postać biblioteki dynamicznej i eksportować odpowiednie symbole) w pełni dostępny Unikod (od 1999) wieloplatformowy (aktualne implementacje istnieją m.in.