Wordle turned one small daily puzzle into a habit for millions of people, and the genre it started kept growing. There are now hundreds of games built on the same shape: one puzzle a day, the same puzzle for everyone, free in a browser, finished in a few minutes. The suffix stuck, so the community calls them dle games, and DLE is often read as daily logic exercise.
Finding the good ones is where it falls apart. /dle-games is my answer to that. It lists 31 dle games across six categories, with a search box, a difficulty tag on every entry, and real player quotes on every entry that has any.
It is live at Dle Games.
The problem with dle directories today
I surveyed eight of them before building this. When I counted in July, Seekdle listed around 1,000 games, Alldle claimed over 1,000, DleList sat near 900, DLES.gg near 850, and DLE.Games over 500. They work fine as inventories, and they all hit the same wall: each entry is a name, an icon, and a link. Volume is the easy half of a directory. Deciding which game to open tomorrow morning is the half that takes work, and a wall of 1,000 links pushes that work back onto the reader.
This one goes the other way. Every listed game was opened and played before it was written up. Each description comes from the game's own copy and from playing a round, rather than from another directory's summary. Every player quote is pulled from a real thread and linked back to its source. Thirty-one entries is a deliberate ceiling for now.
One disclosure up front, since it changes how you should read the list: I build Poople, a daily word ladder, and it sits in the Word Ladder category as the featured entry. The other 30 games belong to other people and link straight out.
What is in it
Six categories, 31 games.
| Category | Games | What it covers |
| Word Ladder | 2 | Change one letter at a time to reach a target word |
| Letter Guessing | 6 | Colored-tile feedback, from one board up to sixteen |
| Word Puzzles | 5 | Grouping, anagrams, letter grids, semantic distance |
| Logic & Science | 6 | Equations, deduction grids, the tree of life |
| Geography | 6 | Countries, flags, capitals, food origins |
| Trivia & Media | 6 | Films, songs, video games, redacted articles |
A difficulty tag on every entry. Two are easy, 18 are medium, 8 are hard, and 3 are very hard. The tag sits right on the card, so you can pick by how much brain you have left today.
Ninety-eight real player quotes. Twenty-seven of the 31 entries carry quotes from actual players. Twenty-nine come from Hacker News threads, and the rest from Apple App Store reviews, Reddit, GameSpot, Engadget, Tom's Guide, and a handful of forums. Every quote links back to where it was said, and the critical ones stayed in, including two complaints about my own game. Four entries carry no quotes at all, because nothing verifiable turned up, and those cards say so instead of filling the space.
Search that runs in your browser. Typing matches against the game title, the write-up, and the category name at once. A search for "map" returns MapTap by name and Globle: Capitals by description, so the box still works when you remember the mechanic rather than the title.
A typical visit looks like this
- You land on the page and see six category sections in order, each with a short description of the mechanic.
- You tap Geography, and the list drops to six games.
- Or you skip the chips entirely and type into the search box, which reads the write-ups as well as the titles.
- You hit Details on a card to read the full description and the sourced player quotes, complaints included.
- You hit Play. External games open in a new tab, and Poople opens in place.
There is no account, no sign-up wall, and no step where the page asks for an email before it shows you the list.
How a game gets in
The bar is the four traits above: a daily reset, the same puzzle worldwide, free in a browser, and one clear win condition. On top of that it has to be worth two honest sentences.
The most recent batch is a fair sample of what that filter does in practice. I started from a list of 49 domains and shipped 10. Every domain was actually loaded, including a headless browser pass for the single-page apps that hand curl an empty shell. Here is what got cut:
- Eight were already listed. One of those was the same game running on a second domain.
- Five were year channels of one game. Heardle Decades runs 70s, 80s, 90s, 00s, and 20s on separate subdomains. Those five collapse into a single entry.
- Eleven failed the dle test. A dictionary, an encyclopedia, a chess platform, two newspapers, a game-length database. rngdle was the interesting call: it updates daily and it ends in -dle, and it rolls a random number with no reasoning step, so it stayed out.
- Four were multi-game portals. A portal does not get a card. Individual games inside one can, which is why Connections deep links into the NYT games section and Songless deep links into lessgames.com.
The 13 that passed the filter and still missed this round are written down with a reason each, so the next batch starts from a list instead of from scratch.
Stack notes for the engineers in the room
Next.js 15 with the App Router, deployed to Cloudflare through OpenNext, with the page on a one-hour ISR revalidate. Copy and translations run through next-intl.
Every game is a typed TypeScript module, one file per game, and the category field is typed against the union of the six real category slugs. A typo in a category name fails the build rather than quietly rendering an empty section. Search and filtering are two useMemo passes over that array, one to filter and one to group by category in the declared order. At 31 entries there is no network round trip and no need for a debounce.
Two details took longer than expected.
Keeping outbound links crawlable. The full write-up and the reviews live in a modal, and it would have been easy to put the outbound link in there too. Each card keeps its own anchor in the DOM instead, so the outbound links are still there for a crawler that never clicks anything. Those anchors carry rel="nofollow noopener" plus a ref query parameter, so the destination site can see where the traffic came from in its own logs.
The repeated-label problem. "Details" and "Play" appear on all 31 cards. As DOM text, those two words outranked the actual subject of the page in word frequency, which is a strange way to lose to yourself. They now render through CSS content: attr(data-label), with the accessible name preserved on aria-label, so screen readers still announce each button while the body copy reads like a page about dle games.
Structured data is one JSON-LD @graph: WebSite, Organization, WebPage, an ItemList of all 31 games, the FAQ block, and the breadcrumb trail.
On the roadmap: more batches, which will probably push the category count past six, and a small JSON endpoint for the directory so people can build their own lineup trackers and streak dashboards on top of it. That endpoint does not exist yet.
Price
Free, no account, nothing to install. That goes for the directory and for Poople.
Try it
The directory is at https://pooplegame.com/dle-games, and Poople itself is at https://pooplegame.com.
Two things I would genuinely like to hear. First, which dle games are actually in your daily rotation, because the ones people stick with are rarely the ones with the biggest search volume. Second, for the developers here, would a JSON endpoint of the directory be worth building, or is that a solution looking for a problem? Missing games and bad difficulty calls are both fair game in the comments.