Wcięcie języka HTML (HyperText Markup Language) to właściwość znacznika lub kaskadowego arkusza stylów (CSS), która powoduje przesunięcie jednego lub większej liczby elementów wizualnych na stronie internetowej o pewną odległość od marginesu jej bloku ograniczającego. Efekt użycia wcięcia HTML jest taki sam, jak użycie wcięć w druku. Najpowszechniej akceptowanym sposobem wstawiania wcięcia do dokumentu HTML jest użycie CSS do zmiany właściwości text-indent akapitu zawierającego tekst. Niektóre instrukcje formatowania, takie jak listy i cytaty blokowe, automatycznie wcinają swoją zawartość, aby odróżnić ją od otaczającego tekstu. Używanie CSS do wstawiania wcięcia HTML działa tylko w pierwszym wierszu akapitu i nie będzie działać na całym bloku, co można osiągnąć za pomocą różnych właściwości formatowania.
Sposób działania standardu HTML, wiele spacji i znak tabulacji używany na większości komputerów do tworzenia wcięć są usuwane z plików przed przeanalizowaniem kodu w celu wyświetlenia. Oznacza to, że tekst sformatowany w edytorze tekstu nie zachowa tego formatowania, jeśli zostanie wklejony bezpośrednio do dokumentu HTML, chyba że tekst zostanie wklejony do programu do edycji HTML typu „co-widzisz-to-co-dostajesz” (WYSIWYG). Aby mieć wcięcie w pierwszym wierszu akapitu lub wciąć cały blok tekstu, należy użyć specjalnego kodu HTML i CSS.
Właściwość text-indent elementów blokowych w CSS spowoduje wcięcie pierwszego niesformatowanego, renderowanego elementu w bloku. Wielkość wcięcia należy podać liczbowo. Opcja pozwala użytkownikowi określić liczbę, która informuje przeglądarkę o ile pikseli, punktów, centymetrów lub innych form pomiaru linia powinna być wcięta. Ta liczba może również stanowić procent całkowitej szerokości bloku. Ta opcja CSS działa tylko na poziomie bloku, wcina tylko pierwszy wiersz i nie będzie działać w przypadku elementów, które mają już wstępnie zdefiniowany typ zachowania formatowania, takich jak listy punktowane.
Wiszące wcięcie HTML jest przeciwieństwem standardowego wcięcia i przeciągnie pierwszy wiersz bloku do tyłu, tak aby był renderowany po lewej stronie reszty wierszy akapitu, gdy tekst jest wyrównany do czytania od lewej do prawej. Ta sama właściwość text-indent jest używana dla wiszącego wcięcia HTML, z tą różnicą, że liczba określająca wielkość wcięcia jest ujemna. Ta metoda działa tylko wtedy, gdy wartości marginesów i obramowania bloku są wystarczająco duże, aby pomieścić wiszące wcięcie.
Możliwe jest zdefiniowanie wcięcia HTML, które przesuwa cały blok lub akapit. Można to zrobić za pomocą kilku właściwości CSS na poziomie bloku, w tym modyfikować marginesy lub umieszczać blok kontenera głębiej na stronie. Można to również osiągnąć za pomocą podstawowych znaczników HTML, takich jak cytat blokowy lub pre, co oznacza wstępnie sformatowany tekst. Wadą korzystania z podstawowych znaczników do tworzenia wcięcia HTML jest to, że nie można kontrolować ani jawnie określić wielkości przesunięcia tekstu.