Steve-Mr/EmojiFace
Identify faces in an image and replace them with emojis.
What FaceMoji does
FaceMoji (also called EmojiFace) is a small Android/web app that detects human faces in a picture and covers each face with an emoji (or applies a blur). All the image processing happens locally – nothing is uploaded to a server.
How it works
- The app uses a pre‑trained YOLOv8‑face model (from the
derronqi/yolov8-faceproject) to locate faces in an image. - Once a face rectangle is found, the app either:
- draws a chosen emoji over the region, or
- applies one of several blur styles (Gaussian, pixelation, halftone‑like).
- Users can manually add, move, or delete emojis and blur areas, and they can import their own emoji‑style font files.
Where you can run it
| Platform | How to get it | Notes |
|---|---|---|
| Web (PWA) | Click the Deploy with Vercel button in the README or follow the instructions in web/README.md. The site runs entirely in the browser and stores no data remotely. |
Works on desktop and mobile browsers; can be installed as a Progressive Web App. |
| Android | Download the latest release from the GitHub Releases page (two APK flavors): • default – normal app icon (can be hidden in settings).• icon‑disabled – app icon hidden by default, intended for “share‑to‑app” use. |
Both APKs are signed and can be installed manually. The hidden‑icon version is useful when you want to launch the app only via the Android share menu. |
Main features
- Automatic face detection → emoji overlay (default) or blur.
- Manual editing – add, move, or delete emojis / blur patches.
- Multiple blur styles – Gaussian, pixelation, custom halftone‑like effect.
- Icon‑hiding mode – run the app solely through image‑share intents.
- Custom emoji fonts – import your own emoji‑style font to change the overlay appearance.
Limitations & caveats
- The face‑detection model is offline and runs on‑device, but it is not as robust as cloud‑based services – it may miss faces or mis‑detect them in some images.
- The web version was quickly assembled by a contributor (Jules / Vibe Coding); its code quality and stability are not guaranteed.
- The app is provided “as‑is” with no warranty.
How to contribute / build yourself
- The repository contains a
webfolder with its own README for deployment instructions. - Android source code can be compiled with Android Studio; the two APK flavors are defined in the Gradle configuration.
- The face‑detection model is pulled from the external
derronqi/yolov8-faceproject, so updating the model simply means replacing the.ptfile used by the app.
Acknowledgements
- Emoji icons are adapted from the Carnival Masks Pack on Freepik.
- Face detection relies on the YOLOv8‑face model from
derronqi/yolov8-face.
TL;DR – FaceMoji is a privacy‑first Android/web tool that uses an on‑device YOLOv8 face detector to replace faces with emojis or blur them, with optional manual editing and a hidden‑icon mode for share‑only usage.
Related
- Project
- Dispatch
- Project
- Project
- Project