
I pasted a class roster into a classroom picker, called two names, and closed the tab for lunch. When I opened it again the box was empty. Twenty eight names, gone, because the page never kept them.
The same week I watched a picker land on the same student twice before half the room had gone. The quiet ones sat there. The ones who always talk got a third turn.
The random name picker on Softery keeps the roster in this browser. No-repeat is on when you arrive. Space picks the next name when you are not typing in the box. The names you type never go out as names.
The List Was Empty After Lunch
ClassTools.net is the page a lot of teachers already have bookmarked. The ranking file that put this idea on my list called it dated, heavy with ads, and a re-entry every visit. That last part is the one that wastes the period. You paste the roster before first bell. You close the tab because someone asked a question. You come back and type the names again.
I don't want a second account to remember who is in period three. I also don't want twenty eight names sitting on someone else's server so a free picker can show an ad. The list is a gradebook export. It should live on the machine that is plugged into the projector.
Softery.io loads Mixpanel and Google Analytics on every page. I won't write "zero third-party scripts" over a layout that already ships both. I built the page for a smaller claim. The names you type never go out as names.
Rank 11 of 1,754
I ranked this idea eleventh out of 1,754, score 9.4, about five hours of work. The card said paste a class roster, pick students at random, keep a no-repeat mode until everyone is picked, and put a one-key spin on a classroom projector. No account.
The classroom pile in that list is long. A typing test, a GPA calculator, flashcards, bingo cards. The wheel sat at eight. This picker sat at eleven because the ask is the same job with a different surface. A teacher wants a name, then another name, then the rest of the room, and they want the list still there after lunch.
I'm not going to tell you the other pickers are useless. They're fine if you already live in that tab. A lot of people open one of these, close it, and paste the roster a second time.
Nineteen Autocomplete Suggestions
Bing's autocomplete returned 19 suggestions on "random name picker". The extra words people add are the product. Wheel. From list. And free, which is the tax. Free until you try to keep the list.
"From list" is the paste box. People already have the names. They don't want to type them onto slices. They want to dump a column and go.
If you land here, you get a box and a big name. Press the button, or press Space. The name that comes up drops out of the pool. The counter says how many are left.
The default list is six names so the first click does something. Alex, Jordan, Sam, Riley, Casey, Morgan. An empty picker looks broken. A fake class looks like a joke, which is fine. Paste over them when you have a real roster.
Falling Balls Are Someone Else's Show
A thread on r/InternetIsBeautiful is titled like this:
I made a random name picker with falling balls and obstacles
The post sat at 153 points with 66 comments. People will watch a marble bounce. I didn't build that. That demo is someone else's, and it's a good show. It is also a different product.
I shipped the part a teacher actually needs after the marble lands. Don't call the same kid twice before everyone else has gone, and keep the list when the tab closes. The name still has to be big enough to read from the back row. That's Projector, not physics.
If you came here because a clip of bouncing balls looked fun, the wheel is closer to that feeling. This address is the list.
928 Ratings on a Phone
The iOS app is called Random Name Picker Tools. Apple's lookup for id 1523663939 returned 928 ratings when I checked it on September 5, 2026. The research file that ranked this idea already said 928. The live count matched.
That's a lot of people who wanted a picker on their phone. In a classroom you want a projector and a roster. You don't want to pass a phone down the row, or put that phone on a doc cam, every time someone answers.
I left the phone apps alone. This page is the projector path. The list stays in the browser that is already on the HDMI cable.
ClassTools Makes You Type It Again
The ranking note on ClassTools was short. Dated UI. Ads. Roster re-entry each visit. I didn't need a longer brief. Re-entry is the defect. Ads are the reason the page exists as a business. I can't fix their business. I can stop asking you to type the same twenty eight names after lunch.
This page writes the roster to localStorage on this machine. Refresh tomorrow and the names are still here, until you paste a new list or clear the site data. It does not follow you to another laptop. Private mode can refuse to store it. The default names still load and you can still pick.
A different browser is a different list. Paste it again on the other machine. It's faster than making an account you'll use twice a year.
No-Repeat Is the Product
Cold-call is a rotten game when the same two students come up three times. No-repeat pulls from who is left. The name that just appeared drops out of the pool. The chips under the counter are the people already called. When the pool is empty, Pick stops. Reset starts the period over.
I didn't hide an "already picked" set you can't see. The remaining count is on the page. The called chips are on the page. If a name is still in the remaining pool, it can still come up. If it is in the chips, it can't, not until you reset.
Turn the mode off if you want repeats. Leave it on for a class. The checkbox is the whole setting. There is no second mode buried in a menu.
The next name is a fair index into who is still waiting. I pick that index first. Then I write the name on the screen and drop it from the pool. The show is a large word. The pick is the index.
Space on a Projector
Projector hides the roster and makes the name large. Space or Enter picks the next one, as long as you are not typing in the roster box. That is the difference between a classroom remote and a broken textarea.
Space inside the box still types a space. The hotkey only fires when the target is not an input, a textarea, or a select. I watched a first draft steal the space you were trying to put in "Mary Ann". The test that guards that is a keydown on the box that must not produce a status.
You do not need to walk back to the keyboard tray and hunt for a button. Open Projector, hide the list, hit Space. The name is the thing on the wall.
I left the roster editable when Projector is off, because that is when you fix a spelling or add a late arrival. The list is the product. Hiding it all period would make the first correction a hunt.
This Is Not the Wheel
The wheel spinner already exists. It needs two names, because a wheel with one slice looks broken. It draws canvas slices. Remove winner is optional. You press Spin.
This page works with one name. The name is a word on the screen, not a slice. No-repeat is on when you arrive. You press Pick, or Space.
Both keep names in the browser. Both cut a paste at 200, because that cap already exists in the shared parser. Both report a count to Mixpanel, never a name.
Use the wheel when you want the spin. Use this when you want to get through a roster without calling the same student twice. I didn't put the wheel on this URL. Two products that share a parser can still be two pages.
| Wheel spinner | Name picker | |
|---|---|---|
| Smallest list | 2 names | 1 name |
| What you see | Canvas slices | A large name |
| No-repeat | Optional remove | On when you arrive |
| How you pick | Spin | Pick, or Space |
| Cap | 200 | 200 |
| Names in the payload | They are not | They are not |
Two Hundred Names, Same Cap
I reused the wheel parser on purpose. One paste rule in two tools. Newlines win when the paste already has them, so "Ben, the younger" stays one person. A single line of commas splits. A BOM at the front of an Excel export gets stripped. Blank lines get dropped.
Two hundred is the printed cap. A yearbook paste is cut there so the tab stays usable. The extra names never get onto the list. If I trimmed quietly, you'd lose the back half of a class and call on the same twenty people all semester.
If the count says 200 and your file had more, the rest never made it. Split the file and run it twice. I didn't put a paywall there. The tool just stops being usable past that many rows.
What Mixpanel Sees
Softery reports every free tool under its URL slug. This one is random-name-picker. Opening the page sends Tool Viewed. The first paste or keystroke sends a size bucket, not the text. A size bucket is a range, a short paste or a long one. It is not the roster. A pick sends a count and how many are left. Reset and Projector send a setting name.
Ada doesn't show up in that payload, and neither does Ben. The generated password on the sibling page follows the same rule, and it's the reason the rule exists.
After the page has loaded, the pick itself is local. Unplug the cable and the next name still comes up. The analytics calls already happened when the layout loaded. The roster text is not in them.
What I Left Out
I didn't build falling balls. I also didn't sync a roster to your other phone, and there's no marble physics for a projector. I skipped a share link too. A share link is a list sitting in a URL, and a URL gets pasted into chat. That's a different product.
I didn't put the wheel on this page. The wheel is already a URL. This one is the list.
I also skipped a third-party picker library. The pick is an index. If the same name comes up twice with no-repeat on, the bug is mine.
The library tests cover the pick, the storage, and the hotkey. Thirteen library tests, plus six UI tests on the page itself. A list of Ada and Ben has to disable Pick after the second name. Space on the window has to pick. Space in the box has to type a space. A stored roster has to come back after a refresh. Those tests are about what you see, and they failed before the client existed.
How to Check It
Open the network panel. Paste two names. Pick twice. You should see Mixpanel or Google traffic from the layout, and you shouldn't see Ada in any of those payloads. Refresh. The two names should still be in the box.
| Step | Re-entry picker | Phone app | This page |
|---|---|---|---|
| Keep the list | Type it again | On that phone | This browser |
| Same student twice | Easy to do | Depends | Off, until you reset |
| Names in the payload | Depends | Apple's app | They are not |
| How many names | Their form | Their purchase | 200, printed |
The default list is six names so you can run this check before you paste a real roster.
If you press Space while the cursor is in the roster box, you get a space in the name. That is the test. Click outside the box, then press Space, and a name should appear.
Paste the Roster
If you have a list, paste it. One name per line. A comma list works for a short one.
- Open Random Name Picker.
- Paste the names.
- Press Pick, or press Space.
- When the pool is empty, reset the round.
- Open the network panel once if you don't believe the names stay put.
The other tools on Softery follow the same habit. The password generator never sees the password. The wheel spinner never sends the roster as text. This one never sends the roster as text either.
Last updated: September 5, 2026 | Reading time: 11 minutes
Written by Evgeniy Poznyak, who has pasted the same class list twice in one day.