whatisgithub

What is rendertron?

googlechrome/rendertron — explained in plain English

Analysis updated 2026-06-26

5,951TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

Rendertron is a deprecated server that uses headless Chrome to fully render JavaScript-heavy pages and return the completed HTML to search bots that cannot execute JavaScript themselves.

Mindmap

mindmap
  root((rendertron))
    What it does
      Headless Chrome render
      Returns full HTML
      Bot detection
    How it works
      Sits as proxy
      Detects user-agent
      Waits for load
    Features
      Page screenshots
      Result caching
      Middleware plugins
    Deploy
      npm local
      Google Cloud Platform
      JSON config
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Route search engine crawlers through Rendertron to serve fully-rendered HTML of JavaScript apps instead of an empty shell

USE CASE 2

Cache pre-rendered versions of pages to avoid re-rendering the same URL on every bot visit

USE CASE 3

Take automated screenshots of web pages via the screenshot endpoint for testing or previews

USE CASE 4

Integrate bot-detection middleware for Express.js, Django, or ASP.NET Core to automatically route crawlers to Rendertron

What is it built with?

TypeScriptNode.jsChromePuppeteerGoogle Cloud Platform

How does it compare?

googlechrome/rendertronlucaong/minisearcha16z-infra/companion-app
Stars5,9515,9505,954
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Project is explicitly deprecated, Google now recommends server-side rendering or static generation instead of dynamic rendering.

So what is it?

Rendertron is a server that runs a copy of Chrome in headless mode (meaning the browser runs in the background without any visible window) to load web pages and capture their fully-rendered HTML. It was built by the Google Chrome team. The README states clearly that this project is deprecated and will no longer be actively maintained. The problem Rendertron was designed to solve involves web apps built with JavaScript that load their content dynamically in the browser. Search engine crawlers and some social media bots do not always run JavaScript, so they see an empty page instead of the actual content. Rendertron solved this by sitting between those bots and your web server, loading the page in a real browser, waiting for all the JavaScript to finish, and then returning the fully built HTML to the crawler. It works as a standalone HTTP server. Your own web server sends requests to Rendertron when it detects a bot based on the user-agent string. Rendertron loads the requested page, detects when the page has finished loading (watching for network activity to settle and a load event to fire), and sends back the serialized HTML. It also supports taking screenshots of pages and caches rendered results to avoid re-rendering the same page repeatedly. The tool can be installed as an npm package and run locally, or deployed to Google Cloud Platform. Configuration is done through a JSON file covering settings like timeout, port, and screen dimensions. Middleware packages exist for Express.js, Django, and ASP.NET Core to handle the bot-detection routing step on the server side. The README explicitly notes that dynamic rendering is no longer a recommended approach for SEO, and Google's own guidance has moved toward server-side rendering or static generation instead. This repository exists as a reference but should not be chosen for new projects.

Copy-paste prompts

Prompt 1
How do I set up Rendertron as middleware for my Express.js app so Googlebot gets fully-rendered HTML while regular users get the React app?
Prompt 2
Write Nginx configuration rules that detect search engine bots by user-agent and proxy those requests to a running Rendertron instance
Prompt 3
How do I deploy Rendertron to Google Cloud Platform and configure timeout, caching, and screen dimensions via the JSON config file?
Prompt 4
What are the recommended modern alternatives to Rendertron for making a JavaScript SPA crawlable, now that dynamic rendering is deprecated?
Prompt 5
How do I configure the Rendertron caching layer to store rendered results and serve them for repeated bot requests to the same URL?

Frequently asked questions

What is rendertron?

Rendertron is a deprecated server that uses headless Chrome to fully render JavaScript-heavy pages and return the completed HTML to search bots that cannot execute JavaScript themselves.

What language is rendertron written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Chrome.

How hard is rendertron to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is rendertron for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.