I crushed wordle within a few days of its popularity entering my sphere. It was pretty easy to brute-force a decision tree minimizing the average number of guesses using a lowly python script and a few days of qpu time.
Don't Wordle[1] is significantly more interesting; I've got a solver but the maximum score takes my lowly python script upwards of a day (per day) to solve using brute force. For now, I solve it with a heuristic that terminates in about 20 minutes. My old wordle solver was useful to find a good but suboptimal tree for identifying the answer in 5 undos or less.
Today:
Don't Wordle 1491 - SURVIVED
Hooray! I didn't Wordle today!
..... 8089
..... 4647
..... 2492
..... 1026
.Y... 231
..G.. 100
Undos used: 3
100 words remaining
x 10 unused letters
= 1000 total score
My puzzle ethics are: you can and should download the dictionaries of valid answers and valid guesses, you're allowed to keep them separate, but you must not keep the list of answers in its original order.
Another great variant is Unfair Wordle [1]. The opponent does not fix the answer upfront but instead evades the player's guesses as long as possible, providing you with the least information it legally can give (according to the usual rules) while still preserving a valid game completion path. The result is that your guesses end up looking extremely unlucky in retrospect.
I also found it surprisingly easy, starting from my triple "olden, party, music" (calculated years ago for state space coverage and memorability). Followed by "fight", then either "shark, brash" or "brash, shark".
Maybe it's harder if you're a careful player that doesn't waste the first three words.
Nice! I'm not actually sure what its mechanism is for providing the "least information". It could be smart and reply in a way that maximizes the number of remaining consistent answers. Or it could be greedy and try to report as many "grays" as possible, then as many "yellows" as possible, then resorting to "greens". The latter seems more likely to me, since its easier to implement.
I also noticed this. I was working on my solver but my dictionary kept suggesting options that wordle didn't consider to be words at all (what the heck is usr/share/dict/words anyway??). So I looked through the source for the dictionary wordle is using and then also found the list of all solutions which really took the fun out of that whole exercise :(
I thought this was old news? I remember people making videos about using information theory to solve Wordle back when it was particularly hyped. (After writing this I checked, there's even a 3 blue 1 brown video on this)
The first page of the published paper ( https://orb.binghamton.edu/nejcs/vol8/iss1/6/ ) also claims that the game was developed by "Josh Wordle", so maybe it just isn't the highest-quality scholarship in the world.
This isn't groundbreaking science, sure, but it is a great way to get people interested in a topic. After all, it wouldn't be on Hacker News if the word Wordle wasn't in it. I'm a huge fan of using things like this to teach science, math and engineering.
We started using "Solve 100 Wordles programmatically" as our technical interview, and people _love_ it. They get really into it and have fun. It's pretty easy to do inefficiently, and it's great to watch people build on it and try to improve their scores.
It has two benefits: 1/ everyone clearly understands the problem 2/ people see it as fun rather than a drag.
Another small benefit: Everybody understands this isn't what the job is. Nobody is hiring you to beat Wordle, and you solving this is clearly not somehow on the path to their actual task, they are asking you if you can write software which solves a problem and you're demonstrating that you can do that, which makes sense.
I think "Solve 100 Wordles programmatically" sounds like a lot of work, so that'd probably be a "No" from me unless it was last hurdle for a job I was enthusiastic about but unlike "Write a program to solve this class of graph problem" I at least wouldn't be worried that you're trying to get me to do work for free.
Actually Wordle solver as Code Review task sounds like maybe a more interesting live interview than the one we do today. "Here's this mediocre Wordle solver, what is your feedback in review?" has the advantage that they've probably seen a Wordle puzzle before but it's not an example problem they've seen in fifty textbooks.
Well, the 100 Wordles is just "Solve one Wordle" in a for-loop. If you're an even somewhat decent engineer, it takes under 10 minutes to get it working (inefficiently).
Then we encourage people to do whatever they want next: improve their average score, build a frontend UI for it, solve on Hard Mode, etc.
In the past, we never did technical interview questions like this. We always asked people to bring their own project, and work the way they want to. However, with the addition of AI, we hit a wall: we want people to feel they can use AI in a way that mimics how they'd actually work day-to-day, BUT we also need a simple check to make sure they understood engineering basics.
it's a drag... i mean if you're 22 it's fun. if you love games, or you're older, or mature, i don't know. the pretentious stuff Josh Wardle says is tough. (https://gdcvault.com/play/1027882/-Wordle-Doing-the-Opposite). he says all sorts of stuff that is wrong ("innate understanding of language" except if you're a kid, which is the average gamer...)
it's like when interviews asked people to implement 2048. it's not even the best version of that game, Threes! is.
I'd quickly realised that a set of words which covered most of the alphabet (20 words, leaving b, g, j, q, v, and z excluded) allowed solving virtually all Wordle puzzles. The game quickly lost any challenge.
wimpy
crowd
thank
fuels
Altering order might give faster results. The order presented leaves the most common letters (e, t) for last. Z is quite uncommon, q is virtually always followed by u, similarly common pairs such as ch, sh, and th, as well as three- and four-letter combinations ing and tion, though those won't show frequently in five-letter words of default Wordle.
It would be possible to vary word choice based on revealed matches and hits, but if your goal is simply to solve (rather than minimise attempts), the above list works quite well.
I only play on hard mode for this reason. My next guess must always be a possible answer based on my current information, and that varies the puzzle enough from day to day that I still find it enjoyable to play occasionally.
Yeah, I play on hard mode. I have three words that seem quite unlikely but cover most frequent letters and common patterns, that I use to quickly work through possibilities in my head.
I haven't failed to solve in months and I usually play every day. I only picked it up again a few months ago in search of a little ritual for the morning. Wordle, Parseword and the NY Times Sudoku on Hard mode. Good for 25 minutes of break at some point in the morning.
I haven't played wordle much since it was purchased but NYTimes ran a story in the last couple days saying how "Hard mode" is actually easier based on their research. Just throwing it out there as food for thought not in a "gotcha" sort of way.
Hard mode forces most people to play smarter than they usually would. I'm not sure if that's the same as being easier. Hard mode is certainly harder for a skilled player, because that player could play normal mode as if it were hard mode but without having to worry about avoiding hard mode traps like _IGHT or SHA_E--if they encounter such a scenario they can just play known-bad words that check several possible solutions at once (e.g. FIRES for _IGHT to check FIGHT/RIGHT/EIGHT/SIGHT).
Does that not lead you to situations where you have to guess the last letter on each round? Or do you choose words to avoid getting trapped in that situation in the first place?
I try to avoid the common traps, but it can be tricky.
I also impose this additional constraint on myself, which the game doesn't enforce, that I can't reuse letters that have been marked gray. Sometimes you just can't think of the next word, or might be tempted to use a gray letter because that way you could get more information from other letters, but I avoid using them.
yes, I do the same thing. I wish there was a way to get the implementation to enforce that rule too so I never accidentally try a word that I already know can't be the answer.
> I'd quickly realised that a set of words which covered most of the alphabet (20 words, leaving b, g, j, q, v, and z excluded) allowed solving virtually all Wordle puzzles. The game quickly lost any challenge.
You can even go furtherâthere's a set of 5 words which uses 25 out of 26 possible letters, leaving you one more word to enter the right answer.
But here's the thing: while that means you'll almost always win, your # of guesses will always be high.
> but if your goal is simply to solve (rather than minimise attempts)
Pretty much nobody's goal is to simply solve. Once they've played it for a few days, everybody's goal is to minimize guesses. That's the flaw in having a long word listâyou always do badly.
I wrote a wordle solver that was fairly straightforward; it just brute-forced all of the possible outputs, minimizing the maximum number of remaining possibilities.
The very first step was too slow to be interactive (IIRC it took about a minute), but fortunately can be precalculated. With a good first-guess, the number of remaining words is small enough that you can just brute-force.
Note that this is not theoretically optimal; you would want more than one level of lookahead for that, but it's good enough to solve almost the entire YAWL dictionary in 6 guesses or less.
Yeah, exactly. My girlfriend did it too, using information theory. In my solution, I did chose a word that minimized the size of the larger set of possible guesses. It's not strictly information theory, but it's a good approximation of finding 'the word that brings the most information [this turn]'.
I suspect that this researchers work involves formalizing and proving the optimality of their solution.
I think most people understand such problems are analytically tractable, but not everyone understands that the challenge and pleasure of a game is being able to do so unaided.
A couple years ago, I wrote some js to sort a 5 letter word file. The value for a word was based on letter frequency in each letter location. Then I took the words that didn't have repeating letters. The I choose a word at the top that I liked and grep'd for some other words to use for the 2nd and 3rd try. In 3 tries, you have used over half the alphabet and all vowels. This usually lets me get the word by the 4th try. Here are some word sets you can start with.
I think it depends on whether you use a conventional dictionary as the population of possible words, the valid guess list, or the (known, at the time, for the originally version of the game at least) possible solution list. I guess you could also use the possible solution list minus the words that had already been guessed in previous iterations.
I mean, you had to give yourself an artificial constraint because IIRC the next solution was actually built into the page anyway, not obfuscated in any way.
plug to my blog post where I did something similar a few years back! https://willbeckman.com/wordle.html :). Not sure if this is an identical solution, but it was a fun little project.
I made a Wordle solver in Clojure a while back which is backed by an English word frequency database. My family believes it is cheating to use it. Much more fun to write that code than to play the game though :D
I crushed wordle within a few days of its popularity entering my sphere. It was pretty easy to brute-force a decision tree minimizing the average number of guesses using a lowly python script and a few days of qpu time.
Don't Wordle[1] is significantly more interesting; I've got a solver but the maximum score takes my lowly python script upwards of a day (per day) to solve using brute force. For now, I solve it with a heuristic that terminates in about 20 minutes. My old wordle solver was useful to find a good but suboptimal tree for identifying the answer in 5 undos or less.
Today:
My puzzle ethics are: you can and should download the dictionaries of valid answers and valid guesses, you're allowed to keep them separate, but you must not keep the list of answers in its original order.[1] https://dontwordle.com/
Another great variant is Unfair Wordle [1]. The opponent does not fix the answer upfront but instead evades the player's guesses as long as possible, providing you with the least information it legally can give (according to the usual rules) while still preserving a valid game completion path. The result is that your guesses end up looking extremely unlucky in retrospect.
[1] https://tweakimp.github.io/unfairwordle/
I also found it surprisingly easy, starting from my triple "olden, party, music" (calculated years ago for state space coverage and memorability). Followed by "fight", then either "shark, brash" or "brash, shark".
Maybe it's harder if you're a careful player that doesn't waste the first three words.
Yeah, it's definitely more challenging and fun on a self-imposed "hard mode" where you must employ the information that is revealed.
Woah. I was surprised to win on the first try: cramp, ghost, blind, bulky, bevel, bezel
Nice! I'm not actually sure what its mechanism is for providing the "least information". It could be smart and reply in a way that maximizes the number of remaining consistent answers. Or it could be greedy and try to report as many "grays" as possible, then as many "yellows" as possible, then resorting to "greens". The latter seems more likely to me, since its easier to implement.
see also "absurdle": https://qntm.org/files/absurdle/absurdle.html
I "crushed it" when it came out with Right click -> View source -> Find the list of words. All the future words were in the code already.
This is why I explicitly mentioned that in my puzzle ethics. I reject that as a valid solve.
(And amusingly I said "qpu time" when I meant CPU)
I also noticed this. I was working on my solver but my dictionary kept suggesting options that wordle didn't consider to be words at all (what the heck is usr/share/dict/words anyway??). So I looked through the source for the dictionary wordle is using and then also found the list of all solutions which really took the fun out of that whole exercise :(
what's qpu?
I thought this was old news? I remember people making videos about using information theory to solve Wordle back when it was particularly hyped. (After writing this I checked, there's even a 3 blue 1 brown video on this)
My favourite along those lines was solving wordle in 1 guess using the distribution of coloured squares on social media https://www.kaggle.com/code/benhamner/wordle-1-6
It's not clear how the strategy in the article differs from the one used by Wordle Bot, the analysis/feedback system that Wordle links to on the victory screen at the end of the game: https://www.nytimes.com/interactive/2022/upshot/wordle-bot.h...
The first page of the published paper ( https://orb.binghamton.edu/nejcs/vol8/iss1/6/ ) also claims that the game was developed by "Josh Wordle", so maybe it just isn't the highest-quality scholarship in the world.
> also claims that the game was developed by "Josh Wordle",
To be fair, that is a 1 letter typo; the developer is in fact "Josh Wardle".
Yes 3blue1brown made a series of videos which explains it : https://www.youtube.com/watch?v=v68zYyaEmEA ; https://www.youtube.com/watch?v=fRed0Xmc2Wg .
This isn't groundbreaking science, sure, but it is a great way to get people interested in a topic. After all, it wouldn't be on Hacker News if the word Wordle wasn't in it. I'm a huge fan of using things like this to teach science, math and engineering.
We started using "Solve 100 Wordles programmatically" as our technical interview, and people _love_ it. They get really into it and have fun. It's pretty easy to do inefficiently, and it's great to watch people build on it and try to improve their scores.
It has two benefits: 1/ everyone clearly understands the problem 2/ people see it as fun rather than a drag.
Another small benefit: Everybody understands this isn't what the job is. Nobody is hiring you to beat Wordle, and you solving this is clearly not somehow on the path to their actual task, they are asking you if you can write software which solves a problem and you're demonstrating that you can do that, which makes sense.
I think "Solve 100 Wordles programmatically" sounds like a lot of work, so that'd probably be a "No" from me unless it was last hurdle for a job I was enthusiastic about but unlike "Write a program to solve this class of graph problem" I at least wouldn't be worried that you're trying to get me to do work for free.
Actually Wordle solver as Code Review task sounds like maybe a more interesting live interview than the one we do today. "Here's this mediocre Wordle solver, what is your feedback in review?" has the advantage that they've probably seen a Wordle puzzle before but it's not an example problem they've seen in fifty textbooks.
Well, the 100 Wordles is just "Solve one Wordle" in a for-loop. If you're an even somewhat decent engineer, it takes under 10 minutes to get it working (inefficiently).
Then we encourage people to do whatever they want next: improve their average score, build a frontend UI for it, solve on Hard Mode, etc.
In the past, we never did technical interview questions like this. We always asked people to bring their own project, and work the way they want to. However, with the addition of AI, we hit a wall: we want people to feel they can use AI in a way that mimics how they'd actually work day-to-day, BUT we also need a simple check to make sure they understood engineering basics.
Next week on HN: Solving Multiple Parallel Wordle with SIMD
"Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Spacetimes... For Wordle!"
(Yes, I'm referencing a real thing, and it's worth watching.)
it's a drag... i mean if you're 22 it's fun. if you love games, or you're older, or mature, i don't know. the pretentious stuff Josh Wardle says is tough. (https://gdcvault.com/play/1027882/-Wordle-Doing-the-Opposite). he says all sorts of stuff that is wrong ("innate understanding of language" except if you're a kid, which is the average gamer...)
it's like when interviews asked people to implement 2048. it's not even the best version of that game, Threes! is.
I'd quickly realised that a set of words which covered most of the alphabet (20 words, leaving b, g, j, q, v, and z excluded) allowed solving virtually all Wordle puzzles. The game quickly lost any challenge.
Altering order might give faster results. The order presented leaves the most common letters (e, t) for last. Z is quite uncommon, q is virtually always followed by u, similarly common pairs such as ch, sh, and th, as well as three- and four-letter combinations ing and tion, though those won't show frequently in five-letter words of default Wordle.It would be possible to vary word choice based on revealed matches and hits, but if your goal is simply to solve (rather than minimise attempts), the above list works quite well.
> The game quickly lost any challenge.
I only play on hard mode for this reason. My next guess must always be a possible answer based on my current information, and that varies the puzzle enough from day to day that I still find it enjoyable to play occasionally.
Yeah, I play on hard mode. I have three words that seem quite unlikely but cover most frequent letters and common patterns, that I use to quickly work through possibilities in my head.
I haven't failed to solve in months and I usually play every day. I only picked it up again a few months ago in search of a little ritual for the morning. Wordle, Parseword and the NY Times Sudoku on Hard mode. Good for 25 minutes of break at some point in the morning.
I haven't played wordle much since it was purchased but NYTimes ran a story in the last couple days saying how "Hard mode" is actually easier based on their research. Just throwing it out there as food for thought not in a "gotcha" sort of way.
https://www.nytimes.com/2026/06/18/upshot/wordle-hard-mode.h...
Hard mode forces most people to play smarter than they usually would. I'm not sure if that's the same as being easier. Hard mode is certainly harder for a skilled player, because that player could play normal mode as if it were hard mode but without having to worry about avoiding hard mode traps like _IGHT or SHA_E--if they encounter such a scenario they can just play known-bad words that check several possible solutions at once (e.g. FIRES for _IGHT to check FIGHT/RIGHT/EIGHT/SIGHT).
It's not "easier", it just forces a more guess-efficient strategy.
Does that not lead you to situations where you have to guess the last letter on each round? Or do you choose words to avoid getting trapped in that situation in the first place?
I try to avoid the common traps, but it can be tricky.
I also impose this additional constraint on myself, which the game doesn't enforce, that I can't reuse letters that have been marked gray. Sometimes you just can't think of the next word, or might be tempted to use a gray letter because that way you could get more information from other letters, but I avoid using them.
yes, I do the same thing. I wish there was a way to get the implementation to enforce that rule too so I never accidentally try a word that I already know can't be the answer.
Yes, that does happen occasionally, and it's part of the game for me to try and avoid getting trapped like that.
> I'd quickly realised that a set of words which covered most of the alphabet (20 words, leaving b, g, j, q, v, and z excluded) allowed solving virtually all Wordle puzzles. The game quickly lost any challenge.
You can even go furtherâthere's a set of 5 words which uses 25 out of 26 possible letters, leaving you one more word to enter the right answer.
But here's the thing: while that means you'll almost always win, your # of guesses will always be high.
> but if your goal is simply to solve (rather than minimise attempts)
Pretty much nobody's goal is to simply solve. Once they've played it for a few days, everybody's goal is to minimize guesses. That's the flaw in having a long word listâyou always do badly.
The only virtuous goal is to type some fun words imo.
gotta see how your strategy holds up in sexaginta-quattuordle
This is how I played Quordle and Octordle, but with just three words (doubt, glyph, raise). Might not scale for all combinations.
I wrote a wordle solver that was fairly straightforward; it just brute-forced all of the possible outputs, minimizing the maximum number of remaining possibilities.
The very first step was too slow to be interactive (IIRC it took about a minute), but fortunately can be precalculated. With a good first-guess, the number of remaining words is small enough that you can just brute-force.
Note that this is not theoretically optimal; you would want more than one level of lookahead for that, but it's good enough to solve almost the entire YAWL dictionary in 6 guesses or less.
>In simulations, their approach solved 99% of Wordle puzzles, while the traditional method solved just 90%.
This seems wrong to me, getting a 98%+ solve rate for Wordle is pretty common.
Hacker News commenter uses grep -i ^.u...$ /usr/share/dict/words | grep -i c | grep -i -v '^..c..$' | grep -i -v '^...c.$' to crack today's Wordle
I admit after a half hour of flailing a couple of days ago I got desperate enough to use /usr/share/dict/words. Turns out "emoji" isn't in my copy.
Those are my favourite Wordles. It becomes more of a challenge.
Didn't like 20 different YouTube channels do this exact thing back when Wordle was relevant?
It's trivial to determine the best guess at any point based on what options it cuts out.
But I ended up building an alphaWordle, using MCTS and a reinforcement loop just to get a feel for how AlphaGo approach to solving games works.
It's not a 'smart' way to solve it, but its pretty instructive and I could compare its moves to the theoretical best move to see it progress.
https://github.com/adamgordonbell/bitter-lesson-demos
To paraphrase von Neumann, isn't that how everyone does it?
Yeah, exactly. My girlfriend did it too, using information theory. In my solution, I did chose a word that minimized the size of the larger set of possible guesses. It's not strictly information theory, but it's a good approximation of finding 'the word that brings the most information [this turn]'.
I suspect that this researchers work involves formalizing and proving the optimality of their solution.
Paper: https://orb.binghamton.edu/nejcs/vol8/iss1/6/
I think most people understand such problems are analytically tractable, but not everyone understands that the challenge and pleasure of a game is being able to do so unaided.
If you want a challenge, try https://lirdle.com/
One letter per line is a lie.
Isnât âmaximize information gain at each stepâ already the standard approach to such problems?
What I'm interested in is the best starting word. Using Shannon entropy, the paper finds that it is "tares".
A couple years ago, I wrote some js to sort a 5 letter word file. The value for a word was based on letter frequency in each letter location. Then I took the words that didn't have repeating letters. The I choose a word at the top that I liked and grep'd for some other words to use for the 2nd and 3rd try. In 3 tries, you have used over half the alphabet and all vowels. This usually lets me get the word by the 4th try. Here are some word sets you can start with.
- pares, moity, bundh|bunch - pares, monty, build|guild - pares, doily, bunch|munch
- pores, banty, guild|mucid - pores, canty, build|guild - pores, manty, build|guild
- bares, ponty, guild|mucid - bares, moity, punch|dunch - bares, monty, guild|child
- cares, ponty, build|guild - cares, moity, bundh|gulph - cares, monty, build|guild
I think it depends on whether you use a conventional dictionary as the population of possible words, the valid guess list, or the (known, at the time, for the originally version of the game at least) possible solution list. I guess you could also use the possible solution list minus the words that had already been guessed in previous iterations.
I mean, you had to give yourself an artificial constraint because IIRC the next solution was actually built into the page anyway, not obfuscated in any way.
plug to my blog post where I did something similar a few years back! https://willbeckman.com/wordle.html :). Not sure if this is an identical solution, but it was a fun little project.
I made a Wordle solver in Clojure a while back which is backed by an English word frequency database. My family believes it is cheating to use it. Much more fun to write that code than to play the game though :D