Insert the letters in the grid, change the signs and visualize how to swipe the best words within a few milliseconds!

You may be interested in: Ruzzle Solver Algorithm and Raspberry Pi Plays Ruzzle.

Loading custom dictionary...
Solutions
A-Z Order
Points Order

How to use it?

With the mouse, select the first top-left cell and start to write the letters that you have in the game, the next cells will be selected automatically as you type.

multiplier Change the signs clicking the top-left corner of a cell. In this way, the solver will find all the writable word, and will order them to have the best ones on top. Writing the signs, the solver will show you the way to swipe the word to have the maximum score and will create the correct list of solutions.

ruzzle solver Once you have wrote all the letters, you can click on the "Solve" button or press Enter. The complete list of words will be shown. If you don't understand how to swipe a word, or simply if you want to know the best way to swipe it, move the mouse over this word.

To be faster to change the signs of a cell, you can press space (or use the key number from 0 to 4) before you insert the letter. You can use Tab and UpperCase+Tab to navigate between the cells.

In the solution list, you can click a row to lock the selection. Once you have locked the selection, you can move it using the up and down keys. In this way you can copy the words very fast. Then, you can unlock it clicking on the selected row.

How it work

The official dictionary, for example the Italian one, has 600.000 words; you can observe that analyze all words is not a thing that can be done fast. A little application to do this, in you computer, is simple to do. But, is not the same if you do the same thing in a Web site, where a lot of people can use it at the same time. This engineering challenge is the main reason that leads me to make this solver. For this reason, I tell you how it works.

With this big dictionary, a PHP algorithm that analyze all the words can take several seconds. If we think that this page can be used by a lot of users, this approach is not good; the site will be constantly unreachable. On the contrary, with a Javascript algorithm that calculate all the solutions, the things are quite different. With a modern computer, with Chrome and its powerful V8, the words are analyzed only in few seconds. But in this way you have to download all the dictionary, and this will saturate all the available bandwidth of my Web site in few days.

For these reasons, I make a little C++ application that, at the server side, analyzes all the 600.000 words, just in few milliseconds. This one builds the little subset of words that are writable in the Ruzzle grid. Then, at the client side, the Javascript script uses this subset and calculates all the solutions; for each word it looks the signs, calculates the score and finds the best way to swipe. In this way, the solver can calculate all the solutions immediately, without take care about the server limitations or the number of users.