Separator (programowanie) – rodzaj ogranicznika zdefiniowanego w składni określonego języka programowania i stanowiącego element kodu źródłowego rozdzielający w ciągu znaków kodu źródłowego poszczególne jednostki leksykalne.

Funkcje separatora Kod źródłowy składa się na podstawowym poziomie z ciągu znaków, jednak z punktu widzenia programisty i programu translatora, z jednostek leksykalnych, jako podstawowych jednostek tekstu mających określone znaczenie (interpretację) w danym języku. Aby poszczególne jednostki leksykalne mogły zostać przez translator wyodrębnione z ciągu znaków stanowiącego kod źródłowy, muszą zostać rozdzielone ustalonymi w definicji języka jednostkami nazywanymi separatorami lub ogranicznikami.

Tak więc separatory w swojej podstawowej funkcji umożliwiają podział tekstu na jednostki leksykalne. Oprócz tej funkcji, separator może: stanowić pewną jednostkę leksykalną o określonym znaczeniu w kodzie źródłowym (np. operator), stanowić znak interpunkcyjny wyodrębniający większe jednostki kodu o określonym znaczeniu (np. terminator lub separator instrukcji, separator listy itd.), nie mieć znaczenia w kodzie poza funkcją separatora, ale może zostać wprowadzony nadmiarowo w celu formatowania tekstu kodu źródłowego (np.