HtmlUnit jest przeglądarką internetową napisaną w Javie. Pozwala na manipulację na wysokim poziomie stron internetowych od innego kodu Javy, w tym wypełnianie i wysyłanie formularzy i klikanie na linki. Zapewnia również dostęp do struktury i szczegółów otrzymanych stron internetowych. HtmlUnit emuluje zachowanie części przeglądarki, w tym aspektów niskiego poziomu protokołów TCP/IP i http. Sekwencja taka jak getPage(url), getLinkWith(Kliknij tutaj) pozwala użytkownikowi na surfowanie po hipertekście i otrzymywanie stron internetowych, w tym HTML, JavaScript, Ajax i cookies. Istnieje także sekwencja HtmlPage.getFrames(), ale istnieje problem z metodą settimeout. Przeglądarka ta może obsługiwać tryb bezpieczeństwa HTTPS, podstawową autentyfikację http. Pozwaa na testowanie stron internetowych zwróconych w formie tekstu, modelu DOM, XML lub zbioru formularzy, tablic i linków. Najczęściej używa się HtmlUnit do automatyzacji testów stron internetowych, ale czasami można go użyć do web scrapping lub pobierania zawartości strony internetowej. Wersja 2.0 zawiera wiele ulepszeń, takich jak wdrożenie funkcji W3C DOM Java 5, lepszą obsługę Xpath i lepszą obsługę niepoprawnego HTML. Ponadto posiada wiele ulepszeń w JavaScript.