Glossary
What is a headless browser?
A headless browser is a web browser that runs without a visible window, controlled by code. It loads pages, runs JavaScript and can click and type like a normal browser. It's used for testing, scraping, screenshots and server-side automation, including running AI agents on servers.
Uses
- Automated testing of web apps.
- Taking screenshots and PDFs.
- Rendering JavaScript-heavy pages for crawlers.
- Running automation and agents on servers.
Tools
Chrome and Chromium have a headless mode; Playwright and Puppeteer control them (Playwright also drives Firefox and WebKit). Google's search crawler renders pages with a headless Chromium too.
Detection
Bot protection such as Cloudflare Turnstile and reCAPTCHA look for signs of automation: headless flags, missing browser features, data-centre IP addresses, no history or cookies. Server-run headless browsers trip these checks far more often than a person's everyday browser, which is why directory submissions from servers fail more.
Example
A team runs a headless Chromium on a server to submit forms. Several sites show CAPTCHAs on every attempt. Running the same agent through an extension in the founder's own Chrome passes most of them without a challenge.
Headless vs headed
A headed browser shows its window; a headless one doesn't. Debugging is easier headed, since you can watch what happens. Many teams develop automation headed and run it headless in production, accepting that some sites will challenge it more.
FAQ
Is headless Chrome a real browser?
Yes, the same engine without the window.
Why do sites block headless browsers?
They're commonly used by bots, so bot protection treats them with suspicion.
Can a headless browser run JavaScript?
Yes, fully.
Can Google render pages with a headless browser?
Yes. Googlebot renders pages with an evergreen headless Chromium.