Scan a physical 2×2–7×7 puzzle cube from six photos and assemble its state in your browser.
Open the scanner · View the source
CubeAssembler figures out which photo belongs to each face and how that face was rotated. Guided capture narrows the possibilities to 64 arrangements; the app checks corners, edges, and parity, then asks you when more than one arrangement fits. Capture, review, and assembly run locally in the browser, with no model download or production server.
- Choose a cube and colors. Select a size from 2×2 to 7×7. Automatic colors compares the live face with built-in and saved palettes, or you can choose a palette yourself.
- Capture six faces. Show four sides while turning the cube, then its top and bottom. Detect face finds and straightens the grid; Guide grid reads the square on screen when you prefer manual framing.
- Check the colors. The app recalibrates all six photos together. Review any uncertain stickers against the photos and correct them if needed.
- Confirm the assembly. If several face placements or rotations fit, choose each side when prompted.
- Use the cube net. View the assembled cube, copy its facelets or compact state token, and save the reviewed photos as a test fixture if useful.
You can also upload six photos or a saved fixture without using the camera. A matching face pattern warns you but does not block capture, since different faces can look identical on even cubes.
- Camera capture or six uploaded photos, cropped or uncropped.
- Cube sizes 2×2–7×7, with manual color correction when needed.
- Physical-validity checks and an unfolded net plus 3D view.
- WRG/URF facelets and Orbit64 compact state tokens.
- Local, browser-only scanning; an optional development server saves fixtures.
npm install
npm run dev
npm testThe app opens at http://localhost:5173. See Contributing
for browser tests, lint and formatting, fixture uploads, and Pages deployment.
- User guide — capture, review, uploads, the cube net, and facelet notation.
- Cubes and color profiles — Automatic colors, learning, merging, and import/export.
- Scanner and color detection — alignment, auto capture, white balance, and sticker classification.
- Cube validity and parity — what is checked on each size and what a failed check highlights.
- Architecture — modules, worker, data flow, storage, and test layout.
- Regression fixtures — save, upload, tag, and test real and synthetic captures.
- Contributing — development, CI, Pages, Git LFS, and pull requests.
MIT © 2026 Werner Stein. See LICENSE. The bundled fonts and runtime libraries retain their own licenses; see the third-party notices.
Rubik's, Rubik's Cube, GoCube, GAN, QiYi, and other brand names are trademarks of their respective owners. CubeAssembler is independent and is not endorsed or sponsored by any puzzle maker.