A daily guessing game set in the Persona universe
From Persona 1 to Persona 5X
Features • Game Modes • What's New • How to Play • Tech Stack • Roadmap
Personadle is a free, fan-made browser game celebrating the beloved Persona series (Persona 1-5X). Inspired by Smashdle, each day brings a new character to identify through various clue types—silhouettes, quotes, personas, emojis, music, and more.
Perfect for both long-time fans and newcomers to the series!
| 🎖️ Badge System | Unlock 60+ unique achievements across 4 categories |
| 🖼️ Profile Card Sharing | Export your profile as a PNG — 8 themes, 37 wallpapers, share on X / Discord |
| 🔊 Sound Effects | Victory sounds and interactive button feedback |
| 🎨 Persona 5 UI | Stylish interface with SVG effects and dynamic transitions |
| 📊 Stats Tracking | Monitor wins, streaks, playtime, and favorite modes |
| 🌙 Dark Mode | Eye-friendly default theme with colorblind options |
| 🌐 Multi-language | 6 languages: EN, FR, ES, DE, IT, PT — auto-detected from browser |
| 👥 Friends System | Search by code, send requests, online status, P4 TV / Calling Card animations |
| 🏆 Leaderboard | Rankings by mode and period (weekly / monthly / all-time), friends scope |
| 💫 Social Link System | Ranks 1-10 (Stranger → True Confidant), XP, mutual actions, golden halo effect |
| ⚔️ Daily Challenges | Challenge friends to a specific mode and compare results |
| ☁️ Cloud Sync | Offline-first, PHP backend — progress synced automatically when online |
| 🔔 Notifications | Challenge results, friend requests, Social Link rank-ups |
| 🎵 Profile Music | Choose a Persona track that plays on your profile page |
| 🔰 Titles / Ranks | Unlock titles via stats (e.g. "Phantom Thief", "Wild Card"), equip one on your profile |
| 🎟️ Event Codes | Redeem limited-time codes for exclusive badges |
| 🛡️ Admin Panel | User moderation (ban, pseudo lock), event codes CRUD, stats dashboard |
Compare character traits—Arcana, gender, age, game, Persona, etc.—with color-coded feedback (colorblind-friendly mode available). Each guess brings you closer!
Decode a series of emojis that gradually appear. Use logic (and creativity) to link them to a character.
A blurred battle animation reveals step by step. Identify the pose, costume, or attack pattern!
A dark silhouette zooms out with each wrong guess. Test your visual memory!
Identify which character uses a specific Persona. Perfect for Velvet Room veterans!
Listen to short music clips and identify the character or theme. True fans will excel here!
⚡ v2.1 - September 2026 (Latest)
- One Expert variant per mode, each with its own degraded clue: a single quote (Classic), one lying emoji (Emoji), a self-triggered flash instead of a permanent image (Silhouette), a frozen black-and-white blur (All-Out Attack), lyrics with no audio (Music), and the real mythological story behind the Persona, with the name masked (Personae)
- Earned, not given: each mode unlocks through its own condition (fast wins, wins in a single day, or a streak of perfect first-try wins), verified server-side
- A lock-shattering animation plays on the next page load once a mode is unlocked
- Expert games keep their own state, targets and stats — playing Expert never touches your daily game
- Admins can grant a mode manually — but never revoke an access earned by playing
- 8 Arena Ultimax silhouettes for the SEES (Aigis, Akihiko, Fuuka, Junpei, Ken, Koromaru,
Mitsuru, Yukari) — separate answers from their P3 versions, tagged
P4AUin the suggestions - 11 more songs, including Memories of You (P3R), Kimi no Tonari (P2IS), Wait and See (PQ2) and Heartful Cry (P3FES)
- Chord Summer joins All-Out Attack, and Persona 1 joins Personae mode
- Persona Trinity Souls as a filterable title, with the Kanzato brothers
- Two new badges and three new titles (Junes, Investigation Team, Shadows Converge)
- Accepting a challenge no longer strands it: the destination is resolved before anything is written, so a challenge is never marked accepted with nowhere to go
- Challenges work in Expert Mode, and an Expert challenge coexists with a normal one — two different games, two different scores
- One live challenge per sender: a new challenge replaces an unread one instead of stacking up, and an Abandon button frees a challenge you accepted but can't finish
- Win rate now uses a Bayesian average — a single 1-for-1 win no longer tops the board
- Best streak counts consecutive days, not wins in a day, and finally agrees with the number shown on your profile
- Badge names translated in French, Spanish, German and Italian — about half of them were still in English
- Link previews (Discord, X) on all six mode pages, each with its own title and description
- Silhouette mode no longer flashes a zoomed-out image on first load, and its picture can no longer be copied in the clear
🚀 v2.0 - May 2026
- Complete REST API with JWT-less auth (bcrypt + PHP sessions httpOnly)
- 24-table relational schema, 907+ unit tests (Vitest + jsdom)
- Cloud sync: offline-first, auto-sync on reconnect, migration from localStorage
- Friend system: search by pseudo or friend code, accept/decline, online status
- Social Link system — ranks 1-10 (Stranger → True Confidant), XP gained via real interactions
- True Confidant effect: pulsing golden halo + burst animation on rank 10
- Friend request animations: Persona 4 TV style, Persona 3 Evoker style, Calling Card style
- Leaderboard by mode × period (weekly / monthly / all-time), Global or Friends scope
- Daily challenges between friends — send, accept, compare results
- Notifications for challenge results and rank-ups
- Profile card export: PNG image, 8 themes, 37 wallpapers, one-click share on X / Discord / Email
- Profile music: choose a Persona track that plays when friends visit your profile
- 60+ badges (server-side unlock verification), titles/ranks, event codes
- 6 languages: EN · FR · ES · DE · IT · PT (1099 keys each)
- Auto-detected from browser, persisted in cloud account
- Localised buttons, messages, badge descriptions, titles
- User moderation (ban accounts, lock pseudos)
- Event codes CRUD (create, distribute, expire)
- Stats dashboard per user
- Internal tool, French-only by design (no
data-i18ncoverage) — not part of the player-facing i18n scope described above
🎊 v1.1 - February 2026
- Limited-time All-Out Attack skins celebrating the Lunar New Year
- Exclusive seasonal wallpaper and event badges
- Special rewards for discovering festive characters
- 8+ new ultimate personas from P2, P3, P4G, P5R, and P5 Tactica
- 12 Picaro variants - corrupted DLC personas join the roster
- Complete persona collection spanning the entire series
- Added Persona 2 EP characters to Classic, Emoji, and Silhouette modes
- Added Velvet Room attendants Belladonna and Demon Painter
- New All-Out Attack skin for Wonder
- Special guest appearance in Silhouette Mode
- Persona 1 classics make their debut
- Persona 5X tracks from the mobile spinoff
- Persona Q & Q2 favorites added to the jukebox
- Enhanced Velvet Room collection with multiple Aria of the Soul versions
- 37 total wallpapers now available across all Persona games
- New additions from P1, P2, P3, P4, P5, and Q series
- Iconic locations, character moments, and crossover artwork
- Seasonal and special event wallpapers
- 5+ new badges added with hidden unlock conditions
- Achievement badges for character discoveries
- Secret badges for dedicated fans
- Event-exclusive badges with limited-time codes
- Redesigned filter buttons and wallpaper selection interface
- Emoji Mode improvement: Error history now shows character portraits
- Consistent navigation across all game modes
- Enhanced mobile responsiveness
🎄 v1.0 - December 2025
- 19 unique badges across 4 categories: Achievement, Event, Secret, and Social
- Track your progress with badge counter (e.g., "12/19 unlocked")
- Showcase up to 4 badges on your profile
- Unlock through gameplay, seasonal events, or hidden secrets!
- 11+ custom wallpapers featuring iconic Persona locations
- Share your stats, badges, and achievements
- Download as image or share directly on social media
- Customize with profile pictures including new additions: Chidori, Tae, and Maruki
- Victory celebration sound on wins
- Hover feedback on all interactive buttons
- Enhanced immersion across all game modes
- Added Fuuka Yamagishi to All-Out Attack mode
- Added Persona 5 Tactica characters: Erina and Toshiro Kasukabe
- Complete character data for all modes
- All-Out Attack overhaul: 66% faster load times, 40% less memory usage
- Progressive image loading with WebP format via CDN
- Smarter randomization to reduce character repetition
- Smoother experience on all devices
- Fixed Silhouette Mode image display issues
- Fixed Emoji Mode daily reset not triggering correctly
- Fixed Classic Mode data error (Yukino Mayuzumi opus)
- Fixed time tracking calculations
- Corrected Music Mode song titles
- Dark mode and UI polish
- Visit personadle.net
- Create an account (optional — enables cloud save, leaderboard, friends)
- Choose your game mode
- Guess the daily character using provided clues
- Play once per day (resets at midnight Paris time)
- Use Replay to try again or Give Up to see the answer
- ✅ Smart autocompletion with character portraits
- ✅ Persistent game filters (P1 to P5X)
- ✅ Keyboard-friendly interface
- ✅ Cloud progress saving (with account) or local fallback
- ✅ Export/import data as JSON
- ✅ Challenge friends to your daily score
Built with pure vanilla web technologies—fast, lightweight, and dependency-free:
HTML5 → Semantic markup and accessible structure
CSS3 → Custom animations, responsive design, dark mode
JavaScript → Modular ES6+, localStorage, dynamic UI
No frontend frameworks. No external JS libraries.
PHP 8.3 → REST API, bcrypt auth, PDO prepared statements, rate-limiting SQL
MariaDB 10.6+ → 24-table relational schema (MySQL 8.0 compatible)
Apache → .htaccess routing, CORS exact-origin, HTTPS, CSP/HSTS
Hostinger → Production hosting
API structure: GET/POST/PATCH/DELETE /api/{resource} — JSON responses, HTTP status codes.
Docker Compose → MariaDB + PHP + phpMyAdmin, schéma + seed auto-chargés (make up)
GitHub Actions → lint + i18n + data-check + coverage + PHPUnit (DB) + PHPStan
Vitest + jsdom → 907 tests unitaires (logique de jeu, backend, streak, i18n, validation données)
PHPUnit → tests de logique pure + intégration DB (contrat de schéma)
Playwright → 113 E2E sur la stack Docker complète (smoke, API, Social Link)
PHPStan → analyse statique PHP niveau 5
ESLint+Prettier→ lint + format
npm test → lance la suite Vitest · make check → tout (lint, data, i18n)
| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | ✅ Supported (Best performance) |
| Firefox | 88+ | ✅ Supported |
| Safari | 14+ | ✅ Supported (iOS 14+) |
| Edge | 90+ | ✅ Supported |
| Opera | 76+ | ✅ Supported |
Requirements:
- JavaScript enabled
- LocalStorage enabled
- 1280x720+ resolution recommended
Track your journey with comprehensive stats:
- Custom Profile: Editable username and avatar (with cropping)
- Statistics: Wins, give-ups, streaks, total playtime — per mode
- Badge Collection: 60+ unique achievements to unlock
- Titles / Ranks: Unlock via stats, one equipped at a time (e.g. "Phantom Thief", "Wild Card")
- Profile Music: A Persona track that plays when others visit your profile
- Favorite Mode: Automatically tracked based on playtime
- Data Control: Export, import, or reset your profile
- Cloud Sync: Linked to your account — survives browser clears
☁️ With an account, all data is synced to the cloud. Offline-first: the game works without a connection and syncs when you come back online.
Grosses briques déjà livrées — backend PHP/MariaDB, amis + Social Link, leaderboard, défis quotidiens, i18n 6 langues, panel admin, 907 tests automatisés (Vitest + PHPUnit + Playwright).
| Feature | Status |
|---|---|
| All 6 Game Modes + Full Backend | ✅ Done |
| Friends, Social Link & Leaderboard | ✅ Done |
| Multi-language (EN/FR/ES/DE/IT/PT) | ✅ Done |
| Mobile App (PWA) | 🔜 Planned |
| Japanese (JP) translation | 🔜 Post-v2.0 |
📋 La roadmap complète et à jour (prochaines étapes priorisées, décisions en attente, historique détaillé par domaine) vit dans
ROADMAP.md— document vivant, mis à jour en continu, pas dupliqué ici.
New Atlus releases mean new content pipelines — here's what's on our radar.
![]() Character art refresh planned for P4/P4G once official assets release. |
![]() Full new character roster to add once the cast is officially revealed. |
📋 Full content pipeline checklist in ROADMAP.md
Active Contributors:
- Damien Nouvellon - CSS restructuring and modularization for improved maintainability and responsive design preparation
- Dzulian - Creative ideas and data accuracy for Persona 1 & 2 (Megami Ibunroku, IS, EP)
- Arati (@Arati) - Community support and featuring PersonaDLE
- Discord Communities - PersonaDLE (international) & Le Grimoire du Cœur (French partner, most active) - beta testing, bug reports, and endless feedback
- Reddit r/persona4golden - Support and suggestions
- Damien ( Corbover ) - CSS architecture restructuring and modularization
- Dzulian - Creative ideas and data accuracy for classic Persona games (P1/P2)
- All GitHub contributors who have helped improve the project
- Megami Tensei Wiki - Character data and lore
- Atlus/SEGA - For creating the incredible Persona universe
- Shoji Meguro - For the unforgettable music
The source code of this project is licensed under the MIT License.
The game assets (character names, portraits, artwork, music, logos, quotes and other Persona / Shin Megami Tensei / Atlus / SEGA content) are NOT covered by the MIT License — they remain the property of their respective rights holders and may not be redistributed. See LICENSE.txt for the full terms.
You're free to reuse the code, but bring your own assets. 😎
PersonaDLE is a fan-made project and is not affiliated with, endorsed by, or connected to Atlus, SEGA, or the Persona franchise in any way.
All characters, music, artwork and references remain the property of their respective rights holders (© ATLUS / © SEGA). They are used here only for a non-commercial, fan-made tribute. Rights holders may request removal of their material at any time, and such requests will be honored.
Some badges and wallpapers were created with AI assistance. As students working on this passion project for free in our spare time, we didn't have the budget or resources to commission artists. We deeply respect human artists and would prioritize working with them if PersonaDLE ever generates revenue or receives support.
We welcome contributions! Here's how you can help:
- Report Bugs - Found an issue? Open an issue
- Suggest Features - Have an idea? We'd love to hear it!
- Join the Community - Share your achievements and help others
- Spread the Word - Share PersonaDLE with fellow Persona fans!
# Clone the repository
git clone https://github.com/HamzaKarrouchi/personadle.git
cd personadle
# Install test dependencies
npm install
# Run the 907 unit tests
npm test
# Backend setup (first time only — creates DB, imports schema, configures Apache)
bash setup.sh
# Check i18n key coverage across all 6 languages
npm run i18n:check
# Open in browser — no build step required
# With backend: http://localhost/personadle/We're always looking for passionate contributors! Whether you're a developer, designer, or just a Persona fan with ideas, feel free to reach out.
Current Focus Areas:
- New game mode ideas
- Performance optimization
- Accessibility improvements
- Japanese (JP) translation (post-v2.0)
- 🌐 Website: personadle.net
- 🐙 GitHub: HamzaKarrouchi/personadle
- 💬 Discord (PersonaDLE): International server — always active, English-friendly
- 💬 Discord (Le Grimoire du Cœur): French partner server — our most active community, in collaboration with PersonaDLE
- 📧 Contact: Open an issue on GitHub for support or collaboration
"I am thou, thou art I… And together, we'll reach the truth."
Made with ❤️ by fans, for fans
If you enjoy PersonaDLE, please support the official Persona games by purchasing them from Atlus/SEGA!
Last updated: July 2026 • Version 2.0
















