🎮 Games
Score0
Best0
Plays145k plays
Gamelot
The Kingdom of Games
🔐
Vault
A curated collection of classic arcade games. Jump between titles, beat high sco…
Free · No sign-up · Instant play
CLICK Varies by game — see each game's instructions
Vault
A curated collection of classic arcade games. Jump between titles, beat high sco…
Free · No sign-up · Instant play
Free Unblocked Games

PLAY ANY WHERE.

50+ hand-crafted browser games. No downloads. No logins. No nonsense. Runs at school, at home, anywhere with a browser.

50+
Free Games
0
Downloads
Replays
Floppy Bird
124k plays · Arcade
🔥 HOT
Neon Snake
89k plays
NEW
BlockDrop
201k plays
TOP
Floppy Bird Neon Snake BlockDrop Space Dodger 2048 Pixel Pong Asteroid Run Word Vault Brick Smash MineSweep Floppy Bird Neon Snake BlockDrop Space Dodger 2048 Pixel Pong Asteroid Run Word Vault Brick Smash MineSweep
— Advertisement —
🎮 All Games
👾 Arcade
🧩 Puzzle
⚡ Action
🕹️ Classics
📝 Word
🃏 Cards
All Games
View all 50+ →
Instant Play
Every game loads in under a second. No installs, no plugins, no app stores. Click and play.
🔓
Always Unblocked
Built to work everywhere — school networks, office firewalls, anywhere. VAULT never gets blocked.
🏆
Global Leaderboards
Every game has a live leaderboard. Set a record. Put your name in the VAULT forever.
Top Scores
👑 All-Time
🔥 This Week
— Advertisement —
// New games every week
Never
Bored
Again.

Get notified when new games drop. First to know means first on the leaderboard. No spam — ever.

/* ── DATA ── */ const GAMES = [ {id:'floppy-bird', name:'Floppy Bird', cat:'arcade', tag:'hot', plays:'124k', rating:'4.9', emoji:'🐦', bg:'#1a3040', accent:'#74bf2e'}, {id:'snake', name:'Neon Snake', cat:'arcade', tag:'new', plays:'89k', rating:'4.8', emoji:'🐍', bg:'#0a1a0e', accent:'#39ff6e'}, {id:'tetris', name:'BlockDrop', cat:'classic', tag:'top', plays:'201k', rating:'4.9', emoji:'🟦', bg:'#0d0a2a', accent:'#00e5ff'}, {id:'2048', name:'2048', cat:'puzzle', tag:'top', plays:'156k', rating:'4.7', emoji:'🔢', bg:'#1a1206', accent:'#ffe600'}, {id:'pong', name:'Pixel Pong', cat:'classic', tag:'', plays:'67k', rating:'4.5', emoji:'🏓', bg:'#060606', accent:'#ffffff'}, {id:'space-dodge', name:'Space Dodger', cat:'action', tag:'hot', plays:'93k', rating:'4.8', emoji:'🚀', bg:'#08041a', accent:'#c8102e'}, {id:'memory', name:'Card Flip', cat:'card', tag:'new', plays:'44k', rating:'4.6', emoji:'🃏', bg:'#0a150a', accent:'#39ff6e'}, {id:'word-guess', name:'Word Vault', cat:'word', tag:'', plays:'78k', rating:'4.7', emoji:'📝', bg:'#0e0e0e', accent:'#ffe600'}, {id:'breakout', name:'Brick Smash', cat:'arcade', tag:'', plays:'55k', rating:'4.6', emoji:'🧱', bg:'#180808', accent:'#ff4444'}, {id:'asteroids', name:'Asteroid Run', cat:'action', tag:'new', plays:'38k', rating:'4.5', emoji:'☄️', bg:'#04041a', accent:'#00e5ff'}, {id:'whack', name:'Whack-A-Mole', cat:'arcade', tag:'', plays:'71k', rating:'4.4', emoji:'🔨', bg:'#0e1a08', accent:'#74bf2e'}, {id:'minesweeper', name:'MineSweep', cat:'puzzle', tag:'', plays:'92k', rating:'4.8', emoji:'💣', bg:'#0a0a0a', accent:'#aaaaaa'}, ]; let cat = 'all', srchQ = ''; /* ── RENDER GRID ── */ function renderGrid() { const list = GAMES.filter(g => (cat==='all'||g.cat===cat) && (!srchQ || g.name.toLowerCase().includes(srchQ.toLowerCase())) ); const el = document.getElementById('gg'); el.innerHTML = list.map((g,i) => `
${g.name}
${g.tag?`
${g.tag.toUpperCase()}
`:''}
${g.cat}
★ ${g.rating}
${g.plays} plays
`).join(''); setTimeout(()=>document.querySelectorAll('.gcard').forEach(c=>c.classList.add('in')),40); list.forEach(g=>drawThumb(g)); } /* ── THUMB ART ── */ function drawThumb(g) { const cv = document.getElementById('gt-'+g.id); if(!cv)return; const c=cv.getContext('2d'), W=cv.width, H=cv.height; c.fillStyle=g.bg; c.fillRect(0,0,W,H); if(g.id==='floppy-bird') { const gr=c.createLinearGradient(0,0,0,H); gr.addColorStop(0,'#2a6a7a'); gr.addColorStop(1,'#4a9aaa'); c.fillStyle=gr; c.fillRect(0,0,W,H); c.fillStyle='#3a8c2e'; [[55,0,24,50],[55,85,24,H],[128,0,24,36],[128,78,24,H]].forEach(([x,y,w,h])=>{ c.fillRect(x,y,w,h); c.fillStyle='rgba(255,255,255,0.1)'; c.fillRect(x+4,y,6,h); c.fillStyle='#3a8c2e'; }); c.fillStyle='#5aac3e'; [[51,45,32,10],[51,85,32,10],[124,31,32,10],[124,78,32,10]].forEach(([x,y,w,h])=>c.fillRect(x,y,w,h)); c.fillStyle='#c8a020'; c.fillRect(0,H-16,W,16); c.fillStyle='#5a9020'; c.fillRect(0,H-16,W,6); c.fillStyle='#d4b830'; c.fillRect(28,60,14,10); c.fillStyle='#fff'; c.fillRect(34,61,5,5); c.fillStyle='#000'; c.fillRect(36,62,3,3); c.fillStyle='#c85000'; c.fillRect(41,63,4,3); } else if(g.id==='snake') { c.fillStyle='rgba(57,255,110,0.05)'; for(let x=8;x{ const a=1-i/(s.length+3); c.fillStyle=`rgba(57,255,110,${a.toFixed(2)})`; c.fillRect(sx,sy,10,10); }); c.fillStyle='#c8102e'; c.fillRect(116,56,10,10); c.fillStyle='rgba(200,16,46,0.3)'; c.fillRect(114,54,14,14); } else if(g.id==='tetris') { c.fillStyle='rgba(0,229,255,0.04)'; for(let x=0;x{ c.fillStyle=cols[i%5]; c.fillRect(bx*14+6,by*14-80,12,12); c.fillStyle='rgba(255,255,255,0.25)'; c.fillRect(bx*14+6,by*14-80,4,4); }); } else { // Scatter pixel art c.fillStyle=g.accent+'22'; for(let i=0;i<8;i++) for(let j=0;j<6;j++) { if(Math.random()>.55){ c.fillStyle=g.accent+(Math.random()>.7?'':'55'); c.fillRect(12+i*25, 12+j*24, 16, 16); c.fillStyle='rgba(255,255,255,0.2)'; c.fillRect(12+i*25,12+j*24,5,5); } } c.font='46px serif'; c.textAlign='center'; c.fillStyle='rgba(255,255,255,0.9)'; c.fillText(g.emoji, W/2, H/2+16); } } /* ── HERO ANIMATIONS ── */ function heroMainAnim() { const cv=document.getElementById('c-hero-main'); if(!cv)return; const c=cv.getContext('2d'), W=cv.width, H=cv.height; let by=H/2,bvy=0,t=0; let pipes=[{x:W+10,top:H*.32,bot:H*.32+72}]; function f(){ t++; const gr=c.createLinearGradient(0,0,0,H); gr.addColorStop(0,'#2a6a7a'); gr.addColorStop(1,'#4a9aaa'); c.fillStyle=gr; c.fillRect(0,0,W,H); if(t%24===0) bvy=-6.5; bvy+=0.38; by+=bvy; if(by>H-14){by=H/2;bvy=0;} if(by<6)by=6; pipes.forEach(p=>{p.x-=2;}); if(pipes[pipes.length-1].xp.x>-30); pipes.forEach(p=>{ c.fillStyle='#3a8c2e'; c.fillRect(p.x,0,20,p.top); c.fillRect(p.x-3,p.top-8,26,8); c.fillRect(p.x,p.bot,20,H); c.fillRect(p.x-3,p.bot,26,8); }); c.fillStyle='#c8a020'; c.fillRect(0,H-13,W,13); c.fillStyle='#5a9020'; c.fillRect(0,H-13,W,5); c.save(); c.translate(40,by); c.rotate(Math.max(-.4,Math.min(.7,bvy*.06))); c.fillStyle='#f5c518'; c.fillRect(-6,-5,13,10); c.fillStyle='#fff8e1'; c.fillRect(1,-4,6,8); c.fillStyle='#fff'; c.fillRect(3,-4,5,5); c.fillStyle='#000'; c.fillRect(5,-3,3,3); c.fillStyle='#c85000'; c.fillRect(6,0,4,3); c.restore(); requestAnimationFrame(f); } f(); } function heroSnakeAnim() { const cv=document.getElementById('c-hero-snake'); if(!cv)return; const c=cv.getContext('2d'), W=cv.width, H=cv.height; const CELL=10; const cols=Math.floor(W/CELL), rows=Math.floor(H/CELL); let snake=[{x:5,y:4},{x:4,y:4},{x:3,y:4},{x:2,y:4}]; let food={x:7,y:3}, dx=1,dy=0,t=0; function f(){ t++; c.fillStyle='#0a1a0e'; c.fillRect(0,0,W,H); c.fillStyle='rgba(57,255,110,0.05)'; for(let x=0;x=cols)h.x=0; if(h.y<0)h.y=rows-1; if(h.y>=rows)h.y=0; snake.unshift(h); if(h.x===food.x&&h.y===food.y){food={x:Math.floor(Math.random()*cols),y:Math.floor(Math.random()*rows)};} else snake.pop(); const nx=snake[0].x+dx,ny=snake[0].y+dy; if(nx<0||nx>=cols||ny<0||ny>=rows){if(dx!==0){dx=0;dy=Math.random()>.5?1:-1;}else{dy=0;dx=Math.random()>.5?1:-1;}} } snake.forEach((s,i)=>{ c.fillStyle=`rgba(57,255,110,${1-i/(snake.length+2)})`; c.fillRect(s.x*CELL+1,s.y*CELL+1,CELL-2,CELL-2); }); c.fillStyle='#c8102e'; c.fillRect(food.x*CELL+2,food.y*CELL+2,CELL-4,CELL-4); requestAnimationFrame(f); } f(); } function heroTetrisAnim() { const cv=document.getElementById('c-hero-tetris'); if(!cv)return; const c=cv.getContext('2d'), W=cv.width, H=cv.height; const CELL=10, cols=Math.floor(W/CELL), rows=Math.floor(H/CELL); const PIECES=[ {cells:[[0,0],[1,0],[2,0],[3,0]],color:'#00e5ff'}, {cells:[[0,0],[1,0],[0,1],[1,1]],color:'#ffe600'}, {cells:[[0,0],[1,0],[2,0],[1,1]],color:'#a855f7'}, {cells:[[0,0],[1,0],[1,1],[2,1]],color:'#39ff6e'}, ]; let board=Array.from({length:rows},()=>Array(cols).fill(0)); let p=null,t=0; function newP(){const r=PIECES[Math.floor(Math.random()*PIECES.length)];p={cells:r.cells,color:r.color,x:Math.floor(cols/2)-1,y:0};} function f(){ t++; c.fillStyle='#0d0a2a'; c.fillRect(0,0,W,H); c.fillStyle='rgba(0,229,255,0.04)'; for(let x=0;xp.y+cy>=rows||board[p.y+cy]?.[p.x+cx])){ p.y--; p.cells.forEach(([cx,cy])=>{if(p.y+cy>=0)board[p.y+cy][p.x+cx]=p.color;}); board=board.filter(row=>row.some(v=>!v)); while(board.lengthrow.forEach((col,x)=>{ if(col){c.fillStyle=col;c.fillRect(x*CELL+1,y*CELL+1,CELL-2,CELL-2); c.fillStyle='rgba(255,255,255,0.2)';c.fillRect(x*CELL+1,y*CELL+1,3,3);} })); if(p){c.fillStyle=p.color; p.cells.forEach(([cx,cy])=>{ c.fillRect((p.x+cx)*CELL+1,(p.y+cy)*CELL+1,CELL-2,CELL-2); c.fillStyle='rgba(255,255,255,0.25)';c.fillRect((p.x+cx)*CELL+1,(p.y+cy)*CELL+1,3,3); c.fillStyle=p.color; }); } requestAnimationFrame(f); } newP(); f(); } function ctaAnim() { const cv=document.getElementById('c-cta'); if(!cv)return; const c=cv.getContext('2d'), W=cv.width, H=cv.height; let by=H/2,bvy=0,t=0; let pipes=[{x:W+10,top:H*.35,bot:H*.35+75}]; function f(){ t++; if(t%26===0)bvy=-6.2; bvy+=0.37; by+=bvy; if(by>H-14){by=H/2;bvy=0;} if(by<6)by=6; const gr=c.createLinearGradient(0,0,0,H); gr.addColorStop(0,'#2a6a7a'); gr.addColorStop(1,'#4a9aaa'); c.fillStyle=gr; c.fillRect(0,0,W,H); pipes.forEach(p=>{p.x-=1.8;}); if(pipes[pipes.length-1].xp.x>-28); pipes.forEach(p=>{ c.fillStyle='#3a8c2e'; c.fillRect(p.x,0,20,p.top);c.fillRect(p.x-3,p.top-8,26,8); c.fillRect(p.x,p.bot,20,H);c.fillRect(p.x-3,p.bot,26,8); }); c.fillStyle='#c8a020';c.fillRect(0,H-12,W,12); c.fillStyle='#5a9020';c.fillRect(0,H-12,W,5); c.save();c.translate(44,by); c.rotate(Math.max(-.4,Math.min(.7,bvy*.06))); c.fillStyle='#f5c518';c.fillRect(-6,-5,13,10); c.fillStyle='#fff';c.fillRect(3,-4,5,5); c.fillStyle='#000';c.fillRect(5,-3,3,3); c.fillStyle='#c85000';c.fillRect(6,0,4,3); c.restore(); requestAnimationFrame(f); } f(); } /* ── LEADERBOARD ── */ function renderLB() { const at=[ {n:'PixelKing',g:'Floppy Bird',s:247,e:'👑'}, {n:'NeonSlayer',g:'Neon Snake',s:189,e:'🐍'}, {n:'BlockMaster',g:'BlockDrop',s:18400,e:'🟦'}, {n:'GridGod',g:'2048',s:2048,e:'🔢'}, {n:'StarDodger',g:'Space Dodger',s:156,e:'🚀'}, ]; const wk=[ {n:'FastFingers',g:'Floppy Bird',s:134,e:'⚡'}, {n:'SnakeEyes',g:'Neon Snake',s:98,e:'👀'}, {n:'TetrisGod',g:'BlockDrop',s:9600,e:'🎮'}, {n:'2Kplayer',g:'2048',s:1024,e:'🎯'}, {n:'Blaster99',g:'Space Dodger',s:88,e:'🔥'}, ]; const medals=['g1','g2','g3']; const row=(r,i)=>`
${i===0?'♛':i===1?'♜':i===2?'♝':i+1}
${r.e}
${r.n}
${r.g}
${r.s.toLocaleString()}
`; document.getElementById('lb-at').innerHTML=at.map(row).join(''); document.getElementById('lb-wk').innerHTML=wk.map(row).join(''); // Inject local scores const saved=JSON.parse(localStorage.getItem('floppy_lb')||'[]'); if(saved.length){ document.getElementById('lb-at').innerHTML+=`
🎮
${saved[0].name}
Floppy Bird
${saved[0].score}
`; } } /* ── FILTERS ── */ function setCat(c,el){ cat=c; document.querySelectorAll('.pill').forEach(p=>p.classList.remove('active')); el.classList.add('active'); renderGrid(); } function filterGames(q){ srchQ=q; renderGrid(); } /* ── MODAL ── */ function handleCard(e,id){ e.preventDefault(); openGame(id); } function openGame(id){ const g=GAMES.find(x=>x.id===id); if(!g)return; document.getElementById('mtitle').textContent=g.name.toUpperCase(); document.getElementById('miframe').src=id+'.html'; document.getElementById('modal').classList.add('open'); } function closeModal(){ document.getElementById('modal').classList.remove('open'); document.getElementById('miframe').src=''; } document.getElementById('modal').addEventListener('click',e=>{if(e.target===document.getElementById('modal'))closeModal();}); /* ── EMAIL ── */ function subEmail(){ const i=document.getElementById('email-in'); const b=document.querySelector('.cta-email button'); if(i.value&&i.value.includes('@')){b.textContent='✓ You\'re in!';b.style.color='#39ff6e';i.value='';} } /* ── INIT ── */ document.addEventListener('DOMContentLoaded',()=>{ renderGrid(); renderLB(); heroMainAnim(); heroSnakeAnim(); heroTetrisAnim(); ctaAnim(); });
Arcade · Vault
Advertisement
🔐
Vault
★ 4.8 Arcade 145k plays
A curated collection of classic arcade games. Jump between titles, beat high scores, and work your way through the vault.
Varies by game — see each game's instructions Use arrow keys or WASD to control most games
WhatsApp
Similar games
Advertisement
Advertisement