Embed the reaction time test on your site
One iframe. Five rounds, millisecond timing, a band at the end. No sign-up, no cookie, no analytics and no backend — the score never leaves the visitor's browser. Free to embed, no account needed.
Copy this code
Paste it where you want the test to appear. The first part is the frame; the paragraph underneath is the credit line.
<iframe src="https://humanreactiontime.com/embed/reflex-test/"
title="Reaction time test by MilliReflex"
width="100%" height="700" loading="lazy"
style="border:0;max-width:560px;display:block;margin:0 auto"></iframe>
<p style="font:14px/1.5 system-ui,sans-serif;text-align:center">
Reaction time test by
<a href="https://humanreactiontime.com/reflex-test/">MilliReflex</a>
</p>
Your page needs no JavaScript for this. The test runs inside the frame, on our origin.
Keep the credit line
The paragraph under the frame is not decoration. An iframe shows our page inside yours, but search engines do not treat frame content as a link — only a normal <a href> in your HTML points at us. That one line is the whole reason the embed is free: it is the credit, and it is the link. Please keep it visible and unchanged.
The link goes to the full reflex test page, which adds the age comparison and the saved history the compact frame leaves out.
Sizing and placement
The snippet asks for a 700 px height because five round bars appear as the visitor plays. Width is fluid up to 560 px; below about 320 px the panel gets cramped, so give it a full column on phones. If your layout uses a fixed-height card, put the test at the top of the card rather than in a scrolling box — the panel needs a clean tap target.
Set loading="lazy" if the test sits below the fold. There is no third-party script on the host page, so nothing loads until the frame is near the viewport.
Content security policy
If your site sends a CSP, allow the frame source:
Content-Security-Policy: frame-src https://humanreactiontime.com;
Sites that block third-party frames with X-Frame-Options: DENY or a restrictive frame-src cannot embed it; that is the host's policy, and there is no script workaround on our side.
What the visitor gets
The panel holds red for a random 1.5–4.5 seconds, turns green, and the first tap stops the clock. Five rounds are averaged and scored against published laboratory reaction times. False starts and tab switches void the round instead of being scored. The frame shows the best score on that device, the round average and a band.
Some browsers block storage inside cross-site frames. The test still runs in that case; only the saved best and history are unavailable. Scores are never uploaded — there is no endpoint to upload them to.
For the numbers behind the bands, see the methodology page.