An implementation of the 2048 game, with more in depth stats and modes/modifiers. The standard game is played on a 4x4 board, starting with two randomly placed tiles and more generated after each move. Merge two tiles with the same number into one to increase your score, and the game ends when no more moves are possible. This project was built with React, Vite and Tailwind CSS and features multiple game modes, themes, modifiers and advanced stats.
- Use the arrow keys to shift the tiles on the board
- Tiles with the same value will merge when they collide, increasing score
- After each move, a new 2 or 4 value tile will randomly appear on the board
- Aim to reach the highest score as possible!
- Limitless Mode - Aim for the highest score, with infinite moves and time
- Limited Mode - Aim for the highest score, with only 50 moves
- Timed Mode - Aim for the highest score, with only 60 seconds
- Default
- Christmas
- Tropical
- Default
- Spin To Win
- Upside Down
- Score
- Moves
- Average Score Per Move
- Average Tile Value
- Last Move
- Last Move Score
- Best Tile
- Highest Score
- More themes
- More modifiers
- Node.js 18+ and npm
git clone https://github.com/ThomasFraserDev/2048.git
cd 2048
npm install
npm run devContributions are welcome! :]
If you’d like to help improve this project, please follow these steps:
- Fork the repository and create a new branch from main.
- For UI changes, screenshots or short clips are encouraged.
- Make sure the project runs locally:
npm install
npm run dev- Open a Pull Request with:
- A clear description of what you changed or added
- The reasoning behind it
If you’re unsure about an idea or want feedback before starting, feel free to open an issue to discuss it first.
Thanks for helping make this 2048 implementation better! 💜
This software is licensed under the MIT license.


