If you are into simple and fun browser games, you might have heard of Neal.fun, created by Neal Agarwal.
Neal has built a variety of browser games on his website, and the latest entry, I’m Not a Robot, is grabbing a lot of attention.
The game is inspired by internet captchas and security checks, especially the frequently seen prompt, Are you a Robot?. It strings together mini puzzles that test your “humanness” level by level, turning familiar online tasks into something cheeky and fun.
As you keep clearing levels, the game demands more effort and IQ to prove you are not a robot.
And if you need help, we’ve got you covered.
In this post, we’ve shared Hints as well as the full Solution for Level 47 of I’m Not a Robot.
We recommend trying to solve the level using the hint provided, since figuring it out on your own is the real fun. But if you’re still stuck, you can check the solution.
Hints for Level 47 in I’m Not a Robot
Hints – Press arrow keys to dance!
How to Solve Level 47 in I’m Not a Robot
Level 47 Name – Din Don Dan
Solution – You just need to press the arrow keys according to the sequence appearing on the screen. As you progress, the scrolling speed increases and it will be difficult to maintain accuracy.
If you want to clear the level using a cheat, you can follow the steps below –
- Press “F12” on your keyboard to open the Developer Tools panel.
- At the bottom of the panel, select the “Console” tab.
- Type ‘allow pasting’ and press enter.
- Copy and paste this code into the console and press Enter.
// cache arrow targets once
const arrowsContainer = document.querySelector(‘.arrows-container’);
const targets = {
‘←’: arrowsContainer?.querySelector(‘.arrow-key:nth-child(1)’) || null,
‘↓’: arrowsContainer?.querySelector(‘.arrow-key:nth-child(2)’) || null,
‘↑’: arrowsContainer?.querySelector(‘.arrow-key:nth-child(3)’) || null,
‘→’: arrowsContainer?.querySelector(‘.arrow-key:nth-child(4)’) || null
};const keyMap = {
‘↑’: ‘ArrowUp’,
‘↓’: ‘ArrowDown’,
‘←’: ‘ArrowLeft’,
‘→’: ‘ArrowRight’
};const hitNotesSet = new WeakSet();
const tolerance = 10; // hassasiyetfunction dispatchGameKey(key) {
// many games listen on window or document
const opts = { key, bubbles: true, cancelable: true };
window.dispatchEvent(new KeyboardEvent(‘keydown’, opts));
document.dispatchEvent(new KeyboardEvent(‘keydown’, opts));
window.dispatchEvent(new KeyboardEvent(‘keyup’, opts));
document.dispatchEvent(new KeyboardEvent(‘keyup’, opts));
}function isAlignedY(note, target, tol) {
const nr = note.getBoundingClientRect();
const tr = target.getBoundingClientRect();
const noteY = nr.top + nr.height / 2;
const targetY = tr.top + tr.height / 2;
return Math.abs(noteY – targetY) <= tol;
}function tick() {
const notes = document.querySelectorAll(‘.note’);
for (const note of notes) {
if (hitNotesSet.has(note)) continue;const arrow = note.innerText.trim();
const target = targets[arrow];
if (!target) continue;if (isAlignedY(note, target, tolerance)) {
const key = keyMap[arrow];
if (key) {
// log for debugging
// console.log(`Pressed: ${arrow} ${key}`);
dispatchGameKey(key);
hitNotesSet.add(note);// optional remove or mark
// note.classList.add(‘hit’);
// note.remove();
}
}
}
requestAnimationFrame(tick);
}requestAnimationFrame(tick);
- Start the game and see the code working.
Explanation – This puzzle tests your reflexes. Selecting the right key on time is the key.
Need more help?
Check our I’m Not a Robot section and find Hints and Solutions for other levels.

Nishant Singh is a gaming writer with a passion for Roblox and the Call of Duty franchise. He enjoys exploring new titles, sharing tips, and writing stories that bring the gaming world to life.