An interactive 3x3 Rubik's cube solver that runs entirely in the browser. Paint your cube's colors (or shuffle a random one), then follow a move-by-move solution on a live 3D cube with arrows and plain-language guidance.
No account, no server, no tracking. Everything stays on your device.
- Solve your own cube: paint colors on an unfolded net or tap stickers on the 3D cube
- Random scramble: 25 random turns; solution is computed while scrambling finishes
- Two solvers
- Fewest turns: Kociemba two-phase algorithm (~21 moves average)
- Layer by layer: beginner method with named stages (100-180 moves)
- Guidance modes: arrows + words, standard notation (R, U', F2), or both
- Playback controls: step, autoplay (up to 3x), orbit/zoom the cube
- History: finished solves are kept for the session so you can replay
- Themes & colors: light / dark / system, plus custom sticker colors
- Single-file build:
npm run buildproduces one self-contained HTML file
No install required for the basic experience.
# open index.html directly, or:
npm start # serves at http://localhost:8080
npm test # run solver tests
npm run build # write dist/cube3-solver.htmlNode 18+ is needed only for the scripts above.
| Path | Purpose |
|---|---|
index.html |
App shell |
css/style.css |
Styles |
js/app.js |
UI, 3D scene, controls |
js/solver/ |
Cube model + Kociemba / layer solvers |
vendor/three/ |
three.js (vendored) |
assets/ |
Font + grain texture |
scripts/ |
Local server + single-file build |
tests/ |
Solver unit tests |
MIT - see LICENSE.
Rubik's Cube is a trademark of its respective owner. This project is not affiliated with or endorsed by them.