Skip to content

Latest commit

 

History

1,520 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Support Palestine
Mah

Mah - Mahjong Solitaire

The original open-source Mahjong Solitaire game powering many Mahjong experiences on the web.
Completely free. No ads. No tracking. No cloud.

license test developer Maintainability Codacy Badge


✨ Features

🧩 84 built-in boards - from classic layouts like Turtle and Dragon to unique custom designs

🌱 Random seed based board generator - enter or generate a custom seed to share or replay a specific randomly generated board for endless replayability

🎨 13 tile image sets - switch between beautiful tile designs in light and dark styles

🏆 3 difficulty levels for features and boards generation - from relaxed casual play to expert-level challenge

🖼️ Massive visual customization - 8 image backgrounds, 375 pattern backgrounds, light/dark mode, 14 color themes

🧘 Zen mode - hide the UI chrome for a clean, distraction-free playing experience

⏱️ Optional game timer - show or hide the game clock to suit your play style

🎉 Victory confetti - optional celebratory confetti burst when you clear the board

💾 Auto-save - your game state and best times are saved locally in your browser, never to the cloud

📱 Cross-platform - runs in the browser, on desktop (macOS, Windows, Linux), and on Android

🌍 37 languages - English, العربية, বাংলা, Català, Čeština, Dansk, Deutsch, Ελληνικά, Español, Euskara, فارسی, Suomi, Filipino, Français, हिन्दी, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Bahasa Melayu, Nederlands, Norsk, Polski, Português, Română, Русский, Svenska, Kiswahili, தமிழ், తెలుగు, ไทย, Türkçe, Українська, اردو, Tiếng Việt, 中文


🏛️ Explore More Boards

Browse a curated archive of custom board layouts created by the Kyodai Mahjongg community. Click any layout and select "Play it with Mah" to import it directly into your game.


📥 Download

Play instantly in the browser, or grab a native build for your platform:

Get it on Github Get it on Obtainium

Platform Available
🌐 Web Play now
🍎 macOS .dmg installer
🪟 Windows .msi / .exe installer
🐧 Linux .deb / .AppImage
🤖 Android .apk

Important

Unsigned apps/installers (macOS and Windows)

The macOS and Windows builds are not yet code-signed. Your OS may show a warning the first time you run the app - this is normal for unsigned software and does not mean the files are malicious. If you prefer to skip these warnings, play in your browser instead.

🍎 macOS - bypassing Gatekeeper

Apple's Gatekeeper blocks apps from unidentified developers. You may see a message claiming the app is damaged - this is not true.

Remove the quarantine attribute to fix it:

xattr -dr com.apple.quarantine /Applications/mah.app

The exact steps may vary by macOS version - search for instructions specific to yours.

🪟 Windows - bypassing SmartScreen

Microsoft Defender SmartScreen shows a warning for unsigned apps.

Click "More info""Run anyway" to proceed.

🤖 Android - installing from APK

Android blocks installs from unknown sources by default. Go to Settings → Security (or Apps) and enable Unknown Sources.

Most modern phones use arm64. Try these APK variants in order:

  1. android-mah-x_y_z-arm64.apk
  2. android-mah-x_y_z-arm.apk
  3. android-mah-x_y_z-x86_64.apk
  4. android-mah-x_y_z-x86.apk

🙏 Acknowledgements

Mah's art is built on open-source creative work. See the credits for artwork, backgrounds, sounds, icons and fonts.


🐳 Docker

Run Mah with a single command:

docker run -d -p 8080:80 ffalt/mah

Then open http://localhost:8080.

Or use Docker Compose:

services:
  mah:
    image: ffalt/mah
    ports:
      - "8080:80"

For building your own docker container, see resources/docker.


🛠️ Development

Build Config

The default game name is "Mah Jong". To change it:

  1. Copy custom-build-config.json.dist to custom-build-config.json
  2. Edit the name in custom-build-config.json to your desired app name

Quick Start

npm run start         # Dev server → http://localhost:4200/
npm run build:prod    # Production build → dist/
npm run test          # Run unit tests

About

a html5 mahjong solitaire game

Topics

Resources

Stars

143 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages