For site owners
Put the Rice Purity Test on your own page
One iframe, no script tag, no sign-up. Your readers get the full 100-question list, scored in their own browser, without leaving your article — and the widget carries a link back here for the ones who want to know what their number means.
- Questions
- 100
- The classic list, in order, 1 point each off a starting 100.
- Files you host
- 0
- No script, no stylesheet, no image. The frame brings its own.
- Cost
- Free
- For any site, commercial or not, with no traffic ceiling.
Grab the code
Pick the width that matches your content column, copy the block, paste it into your post’s HTML. Everything below updates together, and the preview at the bottom is the same widget your readers would load.
The usual width of a blog post body. This is the one to take if you are unsure.
<iframe
id="rice-purity-frame"
src="https://ricepuritytestkit.com/embed"
title="Rice Purity Test"
width="600"
height="720"
loading="lazy"
style="width:100%;max-width:600px;height:720px;border:1px solid #ece6f6;border-radius:16px"
></iframe>Optional: let the frame set its own height
The code above gives the frame a fixed height and the reader scrolls inside it, which is what you want in a post — a hundred questions unrolled in full is about five thousand pixels of page. If you would rather have no inner scrollbar, paste this next to the iframe. The widget posts its content height on load and again every time the box changes, including the moment a score appears.
<script>
addEventListener("message", function (e) {
if (e.origin !== "https://ricepuritytestkit.com" || e.data?.type !== "rptk:height") return;
document.getElementById("rice-purity-frame").style.height = e.data.height + "px";
});
</script>Live preview
This is the real widget at 600px, not a picture of it. Take the test in the frame if you want to see what your readers get.
What the widget does
- Shows all 100 statements, grouped by topic, with a running score in a bar that follows the reader down the frame.
- Scores the run the moment the reader asks for it, and shows the band, the average, the median and where the number falls against every score this site has recorded.
- Keeps a half-finished run through a refresh, using session storage inside the frame.
- Sends the reader to ricepuritytestkit.com in their own tab — not inside your frame — when they click through for the meaning of their score.
What it does not do
- No accounts, anywhere. Nobody signs in, and there is nothing to sign in to.
- No data reaches your page. The frame is a different origin, so the browser will not let it read your DOM or your storage, and it does not try. The one message it posts to your page is its own height in pixels.
- No data about your page reaches us. We do not read the URL that framed the widget, and there is no per-site dashboard, because there is nothing to put in one.
- No third-party tags. No advertising, no tracking pixels, no fonts or scripts loaded from anyone else inside the frame.
- No customisation yet. One theme, one question list, three widths. If you need something else, tell us what and why.
Licence
You may embed the widget on any site, for any purpose including a commercial one, at no cost, as long as the link back to ricepuritytestkit.com inside the frame stays visible and unaltered. We may change the questions, the scoring or the layout at any time, and your frame picks the change up the next time someone loads it.
Questions people actually ask
Does the widget send me anything about my readers?
No. The frame is a separate origin, so your page cannot read inside it and it cannot read your page. The only message that crosses the boundary is a number: the widget's own pixel height, posted so you can resize the iframe. No score, no answers, no identifier, nothing about the reader.
Do my readers need an account?
There are no accounts on this site at all. A reader ticks statements, gets a number, and can leave. Answers live in their browser's session storage and are cleared when the tab closes; only the final score is sent to us, and only so the percentile and distribution shown next to it are real.
Will the widget hurt my page speed?
The snippet carries loading="lazy", so nothing loads until the frame is close to the viewport, and an iframe fetches on its own timeline rather than blocking your page's render. There is no script tag to install, so there is nothing of ours in your main thread.
Can I change the questions or hide the link back?
No. The list is the classic one and the point of the widget is that a score from it means the same thing everywhere; a modified copy would produce numbers that cannot be compared with anyone else's. The link back is what pays for the widget being free.
Is it suitable for a site read by teenagers?
Probably not as it stands. The classic list carries 65 explicit items about sex and drugs and is written for readers 18 and over, which the widget says at the top. If your audience is younger, link to the teen version instead of framing this one.
Rather link than embed?
The test itself is the page most articles want to send readers to, and the score pages answer the narrower question of what one particular number means.