Skip to content

What is a headless browser?

A headless browser is a real browser engine — the same one behind the app you click around in — running without a graphical window. It renders pages, executes JavaScript, and exposes the full DOM; you just drive it from code instead of a mouse. It's the default for automated testing, crawling, and AI agents.

Historically, headless mode had obvious tells: a different User-Agent, missing window/chrome APIs, empty navigator.plugins, odd permission and media behavior, and software-rendered graphics instead of GPU. Detectors learned these, so “is this headless?” became a standard first-pass check. Modern headless closed many gaps, but launch flags and environment still leak.

The answer isn't to avoid headless — it's to run a browser whose observable surface matches a normal windowed one (real GPU paths, coherent APIs, no automation flags). See how headless browsers are detected and what an anti-detect browser is.