YouTube Playables: access, certification, SDK and size limits

How YouTube Playables works for web games: early access, certification, required Playables SDK calls, bundle limits in MiB and what is published on revenue.

Published
Sources checked

YouTube Playables are web games that run inside the YouTube apps and website. YouTube lists supported clients on its Playables help page: recent YouTube app versions on Android and iOS, plus Chrome, Safari and Firefox on the web, in a named list of countries. Any engine that exports a standard web build can target it; the developer site names Phaser, PixiJS, Godot, Unity, Construct, Defold and others used in the past. The platform suits developers with small, self-contained games who can meet a strict certification checklist. Access is not open.

How submission and review work

Developer access is in early access: you fill out the Playables interest form. The Developer Portal is in Private Preview, invitation-only, and may require additional agreements. You need channel manager permission on a YouTube channel onboarded to Playables.

In the portal you add a game, fill in metadata, upload the build as a ZIP, upload thumbnails and set monetization options. Accessibility tags from the Accessible Games Initiative are recommended, and must not misrepresent the game. Creating a release can take several minutes. You then get a YouTube dev link and a test suite link; the portal asks you to test on desktop web, mobile web, Android and iOS before you press “Submit for Certification”. Only one release can be in certification at a time.

The certification overview says all Playables are reviewed before public launch, and that YouTube weighs your channel’s history and past Playables performance as well as technical and policy compliance. Failing any MUST requirement blocks publishing. After certification, going live can involve limited access or staged rollouts.

Technical requirements

Size. From the stability and performance requirements, units as published:

  • Initial bundle (bytes downloaded from page load until gameReady): MUST be under 30 MiB, SHOULD be under 15 MiB. The certification FAQ says this is measured after HTTP compression.
  • Total bundle: MUST be under 250 MiB by default. Games that lazy-load can ask support about a larger total.
  • Each file: MUST be under 30 MiB, SHOULD be under 512 KiB. The FAQ calls this a hard limit with no exemptions.
  • File count: at most 8000. Saved game: MUST be under 3 MiB, SHOULD be under 500 KiB.
  • Load time SHOULD be under 5 seconds; peak JavaScript heap MUST stay under 512 MB.

The auto-generated summary box at the top of the stability page quotes different numbers than the requirement list below it. The list is the normative text. The bundle analyzer sample uses the same 30 MiB, 250 MiB and 8000-file values.

SDK. Load the SDK before any game code:

<script src="https://www.youtube.com/game_api/v1"></script>
<script src="game.js"></script>

The integration requirements make these calls mandatory in practice:

ytgame.game.firstFrameReady();            // loading screen is visible
const saved = await ytgame.game.loadData(); // must finish before any saveData
// ...build menus from saved state...
ytgame.game.gameReady();                  // player can interact now

ytgame.system.onAudioEnabledChange((on) => setMuted(!on));
ytgame.system.onPause(() => pauseEverything());
ytgame.system.onResume(() => resumeEverything());

Progress may only be saved with saveData; no other save mechanism is allowed. Pausing must use onPause/onResume, not the Page Visibility API. The SDK reference documents ytgame.IN_PLAYABLES_ENV for detecting the environment. The SDK is a no-op when served locally, so use the test suite.

Network and code. The privacy and data rules ban external calls except to Google or YouTube APIs, QR-like graphics, login screens and personal data collection. Code must not be obfuscated (minification is fine), the game must be a single-page app, and YouTube may decline games it cannot evaluate because of WebAssembly, eval() or Web Workers. Scripts you create at runtime need the page’s CSP nonce (FAQ). Use relative paths only.

Design and devices. The design requirements require every aspect ratio, no orientation lock, touch and mouse for all interactions, no external links, no sharing prompts and no quit button. The game must support English and read the locale via getLanguage, not navigator.languages. On Android the game first loads in a hidden WebView with a zero-size viewport, so layout code must survive that.

Monetization and payouts

YouTube runs pre-roll ads itself. Interstitial and rewarded ads use ytgame.ads.requestInterstitialAd() and ytgame.ads.requestRewardedAd(id) (monetization guide). The monetization requirements say that if you enable in-game ads you must also configure the monetization settings in the Playables Developer Portal to turn them on; the monetization guide adds that these ad types default to “on” there and can be toggled off for testing or validation. Check the setting for each game rather than assuming either. The monetization requirements forbid off-platform ads, monetization and in-app purchases.

On revenue, the guide says YouTube is piloting revenue sharing with a select number of creators. No rate, payout method or threshold is published.

Exclusivity and rights

The public docs contain no exclusivity clause; the Developer Portal notes that participation may require additional agreements, which are not public. The trust and safety requirements require original, authorized or licensed content, cleared IP, music and personality rights, and forbid duplicate or substantially identical Playables. That section was updated on August 25, 2026. Content must not be made for kids and must suit a 13+ audience.

AI-generated content

The Playables requirements do not mention AI. YouTube’s GenAI disclosure article covers realistic video content uploaded through YouTube Studio; the Playables docs do not say it applies to games. The originality and duplicate-content rules above apply regardless of how assets were made.

Before you submit

  • SDK <script> is the first script in index.html; firstFrameReady and gameReady fire at the right moments.
  • loadData resolves before any saveData; no localStorage for progress.
  • Mute follows isAudioEnabled/onAudioEnabledChange; pause follows onPause/onResume.
  • No request leaves the bundle; no third-party ad or analytics SDK.
  • Initial download under 30 MiB post-compression, files under 30 MiB, at most 8000 files, relative paths, allowed characters in file names.
  • Works in portrait, landscape and extreme ratios, with touch and mouse.

The Portal Readiness Checker can check some of this locally: ZIP structure, total size and file count, whether the SDK calls are present, external URLs, service workers, SharedArrayBuffer/threads, the viewport meta tag, touch handlers, audio started before a gesture, and localStorage use. It cannot measure the compressed initial bundle or run certification.

What is not published

  • Any revenue share rate, payout method, schedule or threshold.
  • The terms of the additional agreements the Developer Portal mentions, including any exclusivity.
  • Selection criteria for the interest form and how long certification takes.
  • Exact thumbnail sizes (given only inside the Developer Portal).
  • The maximum code size YouTube’s scanners accept (“may change over time”).
  • Any Playables-specific rule on AI-generated assets.

Questions

Can anyone publish a game on YouTube Playables?
No. Developer access is in early access: you submit an interest form, and the Developer Portal is invitation-only. Every release then has to pass certification.
How big can a Playables build be?
The initial download must be under 30 MiB (15 MiB recommended), the whole bundle under 250 MiB, each file under 30 MiB, and the bundle may hold at most 8000 files.
Can I keep my own ad network or analytics in a Playable?
No. Playables must not make external calls or use off-platform ads, monetization or purchases. Ads go through the SDK's requestInterstitialAd and requestRewardedAd.

Sources

  1. YouTube Playables developer site (Google for Developers)developers.google.com, accessed
  2. Playables certification overview (Google for Developers)developers.google.com, accessed
  3. Stability and performance requirements (Google for Developers)developers.google.com, accessed
  4. Integration requirements (Google for Developers)developers.google.com, accessed
  5. Privacy and data requirements (Google for Developers)developers.google.com, accessed
  6. Design requirements (Google for Developers)developers.google.com, accessed
  7. Monetization requirements (Google for Developers)developers.google.com, accessed
  8. Trust and safety requirements (Google for Developers)developers.google.com, accessed
  9. Internationalization and localization requirements (Google for Developers)developers.google.com, accessed
  10. Accessibility requirements (Google for Developers)developers.google.com, accessed
  11. Certification revision history (Google for Developers)developers.google.com, accessed
  12. YouTube Playables SDK: getting started (Google for Developers)developers.google.com, accessed
  13. YouTube Playables SDK reference (Google for Developers)developers.google.com, accessed
  14. YouTube Playables monetization (Google for Developers)developers.google.com, accessed
  15. Playables Developer Portal guide (Google for Developers)developers.google.com, accessed
  16. Playables FAQ (Google for Developers)developers.google.com, accessed
  17. Playables certification FAQ (Google for Developers)developers.google.com, accessed
  18. Playables bundle analyzer sample (Google for Developers)developers.google.com, accessed
  19. Playables on YouTube (YouTube Help)support.google.com, accessed
  20. Disclosing use of GenAI content (YouTube Help)support.google.com, accessed