Where can I publish a single-file HTML game?
Quick answer
arcadelab.ai/play/your-title immediately — no account, no build tools. ArcadeLab is built specifically for the single-file format.The single-file HTML format is having a quiet renaissance. AI assistants love it because they can produce one complete document with everything inline. Developers love it because there's no build step, no dependency tree, nothing to break. Kids love it because they can just "view source" and learn how it works.
The problem is that most hosting platforms aren't built for it. They want a repo, a build command, a deploy pipeline. ArcadeLab is built for the file directly.
What is a single-file HTML game exactly?
One .html file that contains everything: the markup, the styles in a <style> tag, the JavaScript in a <script> tag. No imports of local files. No separate CSS or JS files. Open it directly in a browser and it runs.
It looks like this, very simplified:
<!--ARCADELAB
title: Cat Bouncer
description: A cat bounces around the screen
emoji: 🐱
color: orange
-->
<!DOCTYPE html>
<html>
<head>
<style>body { margin: 0; background: black; }</style>
</head>
<body>
<canvas id="c" width="800" height="600"></canvas>
<script>
const ctx = document.getElementById('c').getContext('2d');
// ...game loop...
</script>
</body>
</html>How do I publish one?
- Open arcadelab.ai/publish
- Tap the paste zone and paste the full HTML
- Preview loads automatically — check it works
- Click Publish
- Share the URL
What if I want to use a library like Phaser or p5?
List it in the ARCADELAB header. ArcadeLab injects the CDN script tag at render time, so you don't need to include it yourself. See the per-library guides:
- Phaser games without build tools
- p5.js sketches as playable URLs
- Three.js scenes as single files
- D3.js visualizations without a build
Why single-file HTML for AI-generated games?
Two reasons. First, it matches what AIs produce naturally: one HTML response with everything inline. There's no friction between "the AI gave me code" and "I'm running it." Second, it's inspectable. Anyone can view source, read it, learn from it, and remix it. The format aligns with the way the web was designed.
What if my game grows past 500KB?
If you're publishing AI-generated content, you almost certainly won't hit the limit. If you do, ArcadeLab might not be the right host — itch.io supports multi-file uploads and bigger games. But before going that route, try base64-encoding only the images you actually need, or generating sprites procedurally.
Ready to publish? Paste your HTML file and get a URL.
🚀Publish your thing