{"id":14965686,"url":"https://github.com/chromium-for-lambda/chromium-binaries","last_synced_at":"2025-09-02T15:03:59.310Z","repository":{"id":244913557,"uuid":"816655602","full_name":"chromium-for-lambda/chromium-binaries","owner":"chromium-for-lambda","description":"Pre-built Chromium binaries for AWS Lambda, compatible with Playwright and Puppeteer.","archived":false,"fork":false,"pushed_at":"2025-04-07T00:40:44.000Z","size":11376,"stargazers_count":50,"open_issues_count":6,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T06:42:02.897Z","etag":null,"topics":["aws-cdk","chrome","chromium","lambda","playwright","puppeteer"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chromium-for-lambda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://buy.stripe.com/dR68z8cYzgX5bCgcMP"}},"created_at":"2024-06-18T06:54:47.000Z","updated_at":"2025-04-06T07:07:27.000Z","dependencies_parsed_at":"2024-09-27T06:01:05.768Z","dependency_job_id":"2c88b7dc-e1b4-45de-85e4-e5dbaafcb48a","html_url":"https://github.com/chromium-for-lambda/chromium-binaries","commit_stats":{"total_commits":217,"total_committers":3,"mean_commits":72.33333333333333,"dds":0.5161290322580645,"last_synced_commit":"7cd50afbbfd6439e3550badefecfad9e5f941364"},"previous_names":["chromium-for-lambda/binaries","chromium-for-lambda/chromium-binaries"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/chromium-for-lambda/chromium-binaries","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromium-for-lambda%2Fchromium-binaries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromium-for-lambda%2Fchromium-binaries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromium-for-lambda%2Fchromium-binaries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromium-for-lambda%2Fchromium-binaries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chromium-for-lambda","download_url":"https://codeload.github.com/chromium-for-lambda/chromium-binaries/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromium-for-lambda%2Fchromium-binaries/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273301876,"owners_count":25081105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-cdk","chrome","chromium","lambda","playwright","puppeteer"],"created_at":"2024-09-24T13:35:05.500Z","updated_at":"2025-09-02T15:03:59.103Z","avatar_url":"https://github.com/chromium-for-lambda.png","language":"TypeScript","funding_links":["https://buy.stripe.com/dR68z8cYzgX5bCgcMP"],"categories":[],"sub_categories":[],"readme":"# Chromium Binaries for AWS Lambda\n\nThis repository provides Chromium binaries compiled for AWS Lambda, compatible and tested with Playwright and Puppeteer. \n\nWe offer both `ARM_64` and `X86_64` binaries.\n\n## Installation\n\nAlready using Puppeteer or Playwright? No need to add additional NPM packages to your project! \n\nSimply set the appropriate environment variables in Lambda and Playwright/Puppeteer will automatically download our Lambda-compatible binaries. Alternatively, you can download and install our binaries manually.\n\n## Usage\n\n- For automatic installation, set environment variables and Playwright/Puppeteer will automatically download compatible binaries ([details](#download-a-supported-browser-binary-from-your-function-code)). \n- For installation via a Lambda layer, download the correct zip file containing Chromium and it's required dependencies and upload to Lambda yourself ([details](#installation-via-a-lambda-layer)).\n\n## Releases\n\nWe strive to make compatible Chromium versions available as soon as they're officially released. However, compiling, debugging, and testing these builds is resource-intensive and requires significant computational power and human effort. To ensure we can continue to provide this service, we require a pro subscription or a one-time payment for access to the latest 5 versions.\n\n| Chromium Version | Compatible Playwright Versions | Compatible Puppeteer Versions | ARM Download | X86 Download |\n| --- | --- | --- | --- | --- |\n| `132.0.6834` |  | `v24.1.0` | Not available for AL2\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | Not available for AL2\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | \n| `131.0.6778` | `v1.49.0`, `v1.49.1` | `v23.10.0`, `v23.10.1`, `v23.10.2`, `v23.10.3`, `v23.10.4`, `v23.11.0`, `v23.11.1`, `v23.8.0`, `v23.9.0`, `v24.0.0` | Not available for AL2\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | Not available for AL2\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | \n| `130.0.6723` | `v1.48.0`, `v1.48.1`, `v1.48.2` | `v23.6.0`, `v23.6.1`, `v23.7.0`, `v23.7.1` | [Download AL2](https://pro.chromiumforlambda.org)\\*\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | [Download AL2](https://pro.chromiumforlambda.org)\\*\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | \n| `129.0.6668` | `v1.47.0`, `v1.47.1`, `v1.47.2` | `v23.4.0`, `v23.4.1`, `v23.5.0`, `v23.5.1`, `v23.5.2`, `v23.5.3` | [Download AL2](https://pro.chromiumforlambda.org)\\*\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | [Download AL2](https://pro.chromiumforlambda.org)\\*\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | \n| `128.0.6613` | `v1.46.0`, `v1.46.1` | `v23.2.0`, `v23.2.1`, `v23.2.2`, `v23.3.0`, `v23.3.1` | [Download AL2](https://pro.chromiumforlambda.org)\\*\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | [Download AL2](https://pro.chromiumforlambda.org)\\*\u003cbr/\u003e[Download AL2023](https://pro.chromiumforlambda.org)\\* | \n| `127.0.6533` | `v1.45.0`, `v1.45.1`, `v1.45.2`, `v1.45.3` | `v22.14.0`, `v22.15.0`, `v23.0.0`, `v23.0.1`, `v23.0.2`, `v23.1.0`, `v23.1.1` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-127.0.6533)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-127.0.6533) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-127.0.6533)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-127.0.6533) | \n| `126.0.6478` |  | `v22.11.0`, `v22.11.1`, `v22.11.2`, `v22.12.0`, `v22.12.1`, `v22.13.0`, `v22.13.1` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-126.0.6478)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-126.0.6478) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-126.0.6478)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-126.0.6478) | \n| `125.0.6422` | `v1.44.0`, `v1.44.1` | `v22.10.0`, `v22.10.1`, `v22.9.0` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-125.0.6422)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-125.0.6422) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-125.0.6422)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-125.0.6422) | \n| `124.0.6367` | `v1.43.0`, `v1.43.1` | `v22.7.0`, `v22.7.1`, `v22.8.0`, `v22.8.1`, `v22.8.2` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-124.0.6367)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-124.0.6367) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-124.0.6367)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-124.0.6367) | \n| `123.0.6312` | `v1.42.0`, `v1.42.1` | `v22.6.0`, `v22.6.1`, `v22.6.2`, `v22.6.3`, `v22.6.4`, `v22.6.5` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-123.0.6312)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-123.0.6312) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-123.0.6312)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-123.0.6312) | \n| `122.0.6261` |  | `v22.2.0`, `v22.3.0`, `v22.4.0`, `v22.4.1`, `v22.5.0` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-122.0.6261)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-122.0.6261) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-122.0.6261)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-122.0.6261) | \n| `121.0.6167` | `v1.41.0`, `v1.41.1`, `v1.41.2` | `v21.10.0`, `v21.11.0`, `v21.9.0`, `v22.0.0`, `v22.1.0` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-121.0.6167)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-121.0.6167) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-121.0.6167)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-121.0.6167) | \n| `120.0.6099` | `v1.40.0`, `v1.40.1` | `v21.8.0` | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2-chromium-120.0.6099)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/arm64-amazon-linux-2023-chromium-120.0.6099) | [Download AL2](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2-chromium-120.0.6099)\u003cbr/\u003e[Download AL2023](https://github.com/chromium-for-lambda/chromium-binaries/releases/tag/x86_64-amazon-linux-2023-chromium-120.0.6099) | \n\n\u003csup\u003e*Accessing the 5 newest major Chromium release binaries requires a [pro subscription or a one-time payment](https://pro.chromiumforlambda.org).\u003c/sup\u003e\n\n## Examples \n### Automatic installation\n\nBoth Puppeteer and Playwright have built-in functionality to download a compatible browser from a CDN. Instead of using the default CDN, we set an environment variable to instruct Puppeteer / Playwright to download the browser from `files.chromiumforlambda.org` instead. On Lambda, only the /tmp directory is writable, so we need to save the browser there.\n\n#### Automatic installation with Playwright \u003e= 1.49\nIf you don't have Playwright installed yet: `npm install playwright-core@\u003cplaywright-version\u003e`.\n\n```bash\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (if you're using NodeJS 16/18 on ARM64)\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (if you're using NodeJS 20/22 on ARM64)\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (if you're using NodeJS 16/18 on x86_64)\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (if you're using NodeJS 20/22 on x86_64)\nPLAYWRIGHT_BROWSERS_PATH=/tmp\n```\n\n```javascript\n// Make sure that:\n// - You're using a supported Playwright version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've set process.env.PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST and process.env.PLAYWRIGHT_BROWSERS_PATH.\n\nimport { chromium } from \"playwright-core\";\n\nexport const handler = async () =\u003e {\n  const install = require('playwright-core/lib/server').installBrowsersForNpmInstall;\n  await install(['chromium']); // only if you want to use the new headless mode\n  await install(['chromium-headless-shell']); // only if you want to use the old headless mode\n\n  const browser = await chromium.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote'],\n    channel: 'chromium' // only if you want to use the new headless mode\n  });\n\n  const page = await browser.newPage();\n\n  // your Playwright code as usual\n}\n\n```\n\n#### Automatic installation with Playwright \u003c 1.49\nIf you don't have Playwright installed yet: `npm install playwright-core@\u003cplaywright-version\u003e`.\n\nConfigure the following environment variables. Additionally, you can choose to configure [`PLAYWRIGHT_CHROMIUM_USE_HEADLESS_NEW`](https://github.com/microsoft/playwright/blob/ec681ca78c7ce8a3a841f2583ec2a72c205cba4a/packages/playwright-core/src/server/chromium/chromium.ts#L311) which Playwright uses to activate the new headless mode.\n```bash\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (if you're using NodeJS 16/18 on ARM64)\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (if you're using NodeJS 20/22 on ARM64)\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (if you're using NodeJS 16/18 on x86_64)\nPLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (if you're using NodeJS 20/22 on x86_64)\nPLAYWRIGHT_BROWSERS_PATH=/tmp\n```\n\n```javascript\n// Make sure that:\n// - You're using a supported Playwright version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've set process.env.PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST and process.env.PLAYWRIGHT_BROWSERS_PATH.\n\nimport { chromium } from \"playwright-core\";\n\nexport const handler = async () =\u003e {\n  const install = require('playwright-core/lib/server').installBrowsersForNpmInstall;\n  await install(['chromium']);\n\n  const browser = await chromium.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote'],\n  });\n\n  const page = await browser.newPage();\n\n  // your Playwright code as usual\n}\n\n```\n\n#### Automatic installation with Puppeteer \u003e= 23\nIf you don't have Puppeteer installed yet: `npm install puppeteer@\u003cpuppeteer-version\u003e`.\n\nConfigure the following environment variables.\n```bash\nPUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (if you're using NodeJS 16/18 on ARM64)\nPUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (if you're using NodeJS 20/22 on ARM64)\nPUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (if you're using NodeJS 16/18 on x86_64)\nPUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (if you're using NodeJS 20/22 on x86_64)\nPUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (if you're using NodeJS 16/18 on ARM64)\nPUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (if you're using NodeJS 20/22 on ARM64)\nPUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (if you're using NodeJS 16/18 on x86_64)\nPUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (if you're using NodeJS 20/22 on x86_64)\nPUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD=true # (if you're using the new headless mode)\nPUPPETEER_SKIP_CHROME_DOWNLOAD=true # (if you're using the old headless mode)\nPUPPETEER_CACHE_DIR=/tmp\n```\n\n```javascript\n// Make sure that:\n// - You're using a supported Puppeteer version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've set process.env.PUPPETEER_CHROME_DOWNLOAD_BASE_URL, process.env.PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL and process.env.PUPPETEER_CACHE_DIR.\n\nimport puppeteer from \"puppeteer\";\n\nexport const handler = async () =\u003e {\n  const install = require(`puppeteer/internal/node/install.js`).downloadBrowsers;\n  await install()\n\n  const browser = await puppeteer.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote', '--no-sandbox'],\n    headless: 'shell' | true // true launches the browser in the new headless mode, 'shell' launches shell known as the old headless mode.\n  });\n\n  const page = await browser.newPage();\n\n  // your Puppeteer code as usual\n}\n```\n\n#### Automatic installation with Puppeteer 22 ≤ x \u003c 23\nIf you don't have Puppeteer installed yet: `npm install puppeteer@\u003cpuppeteer-version\u003e`.\n\nConfigure the following environment variables.\n```bash\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (if you're using NodeJS 16/18 on ARM64)\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (if you're using NodeJS 20/22 on ARM64)\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (if you're using NodeJS 16/18 on x86_64)\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (if you're using NodeJS 20/22 on x86_64)\nPUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD=true # (if you're using the new headless mode)\nPUPPETEER_SKIP_CHROME_DOWNLOAD=true # (if you're using the old headless mode)\nPUPPETEER_CACHE_DIR=/tmp\n```\n\n```javascript\n// Make sure that:\n// - You're using a supported Puppeteer version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've set process.env.PUPPETEER_DOWNLOAD_BASE_URL and process.env.PUPPETEER_CACHE_DIR.\n\nimport puppeteer from \"puppeteer\";\n\nexport const handler = async () =\u003e {\n  const install = require(`puppeteer/internal/node/install.js`).downloadBrowser;\n  await install()\n\n  const browser = await puppeteer.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote', '--no-sandbox'],\n    headless: 'shell' | true // true launches the browser in the new headless mode, 'shell' launches shell known as the old headless mode.\n  });\n\n  const page = await browser.newPage();\n\n  // your Puppeteer code as usual\n}\n```\n\n#### Automatic installation with Puppeteer \u003c 22\nIf you don't have Puppeteer installed yet: `npm install puppeteer@\u003cpuppeteer-version\u003e`.\n\nConfigure the following environment variables.\n```bash\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (if you're using NodeJS 16/18 on ARM64)\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (if you're using NodeJS 20/22 on ARM64)\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (if you're using NodeJS 16/18 on x86_64)\nPUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (if you're using NodeJS 20/22 on x86_64)\nPUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD=true # (if you're using the new headless mode)\nPUPPETEER_SKIP_CHROME_DOWNLOAD=true # (if you're using the old headless mode)\nPUPPETEER_CACHE_DIR=/tmp\n```\n\n```javascript\n// Make sure that:\n// - You're using a supported Puppeteer version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've set process.env.PUPPETEER_DOWNLOAD_BASE_URL and process.env.PUPPETEER_CACHE_DIR.\n\nimport puppeteer from \"puppeteer\";\n\nexport const handler = async () =\u003e {\n  const install = require(`puppeteer/internal/node/install.js`).downloadBrowser;\n  await install()\n\n  const browser = await puppeteer.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote', '--no-sandbox'],\n    headless: true | 'new' // 'new' launches the browser in the new headless mode, true launches shell known as the old headless mode.\n  });\n\n  const page = await browser.newPage();\n\n  // your Puppeteer code as usual\n}\n```\n\n### Installation via a Lambda layer\n\nA Lambda layer is a .zip file archive that contains supplementary code or data. You can use a Lambda layer to package the Chromium browser with your function. Due to size limits, Chromium can only be used with the old headless mode (via the chrome-headless-shell binary). Sadly the full Chromium binary used in the new headless mode is too large to be installed via a layer.\n\nYou can download the headless_shell-*.zip that matches your Playwright / Puppeteer version and upload it as a layer.\n\n#### Layer usage with Playwright\nIf you don't have Playwright installed yet: `npm install playwright-core@\u003cplaywright-version\u003e`.\n\nMake sure the `PLAYWRIGHT_CHROMIUM_USE_HEADLESS_NEW` environment variable is not set as the new headless mode is not supported via a layer.\n\n```javascript\n// Make sure that:\n// - You're using a supported Playwright version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've uploaded the headless_shell-*.zip file as a Lambda layer and configured your Lambda to use that layer.\n\nimport { chromium } from \"playwright-core\";\n\nexport const handler = async () =\u003e {\n  const browser = await chromium.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote'],\n    executablePath: '/opt/chrome-headless-shell-linux64/chrome-headless-shell'\n  });\n\n  const page = await browser.newPage();\n\n  // your Playwright code as usual\n}\n\n```\n\n#### Layer usage with Puppeteer \u003e= 22\nIf you don't have Puppeteer installed yet: `npm install puppeteer-core@\u003cpuppeteer-version\u003e`.\n\n```javascript\n// Make sure that:\n// - You're using a supported Puppeteer version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've uploaded the headless_shell-*.zip file as a Lambda layer and configured your Lambda to use that layer.\n\nimport puppeteer from \"puppeteer-core\";\n\nexport const handler = async () =\u003e {\n  const browser = await puppeteer.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote', '--no-sandbox'],\n    headless: 'shell',\n    executablePath: '/opt/chrome-headless-shell-linux64/chrome-headless-shell'\n  });\n\n  const page = await browser.newPage();\n\n  // your Puppeteer code as usual\n}\n```\n\n#### Layer usage with Puppeteer \u003c 22\nIf you don't have Puppeteer installed yet: `npm install puppeteer-core@\u003cpuppeteer-version\u003e`.\n\n```javascript\n// Make sure that:\n// - You're using a supported Puppeteer version (see https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).\n// - You've uploaded the headless_shell-*.zip file as a Lambda layer and configured your Lambda to use that layer.\n\nimport puppeteer from \"puppeteer-core\";\n\nexport const handler = async () =\u003e {\n  const browser = await puppeteer.launch({\n    args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-zygote', '--no-sandbox'],\n    headless: true,\n    executablePath: '/opt/chrome-headless-shell-linux64/chrome-headless-shell'\n  });\n\n  const page = await browser.newPage();\n\n  // your Puppeteer code as usual\n}\n```\n\n## Support\n\nWe thoroughly test our binaries before publishing. But feel free to [create an issue](https://github.com/chromium-for-lambda/binaries/issues) if you experience unexpected behaviour.\n\n## FAQ\n\n### Am I supposed to just trust your binaries?\nOur binaries are compiled [in a Github action](https://github.com/chromium-for-lambda/chromium-binaries/actions). This means you can follow exactly how our Chromium binaries are built, from source to deployment. This means you can verify the integrity and quality of our binaries, and have a better understanding of the process that goes into creating them.\n\n### What is the difference between automatic and manual installation via a layer?\nAutomatic installation uses environment variables to configure Playwright/Puppeteer to download Lambda-compatible binaries from our CDN. Manual installation requires downloading the correct zip file containing required dependencies and uploading to Lambda manually via a Lambda layer.\n\n### Can I use the \"new\" Headless mode?\nYes.\n\n### Why are there different Chromium binaries for Amazon Linux 2 (AL2) and Amazon Linux 2023 (AL2023)?\nThe Chromium binaries for Amazon Linux 2 (AL2) and Amazon Linux 2023 (AL2023) are different because they are compiled with different versions of the Linux kernel and dependencies. \n\nThe main differences are:\n- Kernel version: AL2 is based on the 4.14 kernel, while AL2023 is based on the 5.10 kernel. This means that the AL2023 binaries are compiled with a newer kernel version, which can provide better support for newer hardware and features.\n- Dependency versions: The dependencies used to build the Chromium binaries, such as glibc, libstdc++, and other libraries, are also different between AL2 and AL2023. These differences can affect the compatibility and functionality of the Chromium browser.\n\n### Which version should I download?\nIf you are using Amazon Linux 2 (AL2), you should download the Chromium binaries specifically compiled for AL2. If you are using Amazon Linux 2023 (AL2023), you should download the Chromium binaries specifically compiled for AL2023.\n\nIf you're using Node.js, please note that:\n- The Node.js 16 and 18 Lambda runtimes are using Amazon Linux 2 (AL2)\n- The Node.js 20 and 22 Lambda runtimes are using Amazon Linux 2023 (AL2023)\n\n## Got an example codebase that is actually using this?\nYes. Please take a look at [this](https://github.com/chromium-for-lambda/playwright-screenshot/blob/main/src/index.ts).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchromium-for-lambda%2Fchromium-binaries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchromium-for-lambda%2Fchromium-binaries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchromium-for-lambda%2Fchromium-binaries/lists"}