Create and share Mii characters online with just a few clicks!
- Uses the mii-unsecure.ariankordi.net API by ariankordi used to generate 3D Mii heads and icons.
- A fork is used that adds hat support.
- mii-js library used for interacting with Mii data in a JavaScript-friendly way
- Some utility code "borrowed" from arian's website for conversion, QR codes, etc.
- Custom Mii Maker music by objecty
- GitHub Copilot and ChatGPT (sort of) helped me modify this to make it work with GitHub Pages.
This app uses a custom, extended version of the FFSD Mii format that Kat21 (the original developer) calls the MiiCreator format (with the .miic file extension). It allows for extra colors and glasses from the Switch, while still allowing you to convert back to FFSD for 3DS/Wii U. It also allows for custom hats (but these are unofficial and aren't supported by any consoles).
- Real 3D rendering (unlike Mii Studio)
- Change parts and colors of your Mii
- Save and load Miis in your library
- Save a Mii to a QR code
- Render to PNG image file
- Export as 3D model (in GLB format)
- Save/load Miis as
.miicor.ffsdfiles - Create your own renders inside the app
- Custom hats (for fun!)
Click here to view screenshots.
I'm open to contributions if you want to help with the project! I'm also fine with people forking and taking over the project and adding a whole bunch of features and improvements.
Some of the custom hat models are provided by the Models Resource:
Thanks to Timimimi for creating the new hat models:
- Cat Ears
- Straw Hat
- Hijab
- Bike Helmet
NOTICE: I haven't tested this process with this fork, so it might not work. Use the GitHub workflow to deploy to GitHub Pages. After deployment, you might need to hard refresh the page (press Ctrl+Shift+R) for your changes to appear.
- Make sure you have Bun installed on your device. This is used for compiling all of the TypeScript code into JavaScript for the client.
- Clone this repository, and run the
bun icommand to install dependencies. - In one terminal, run
bun build-ts(if this doesn't work, try runningbun build.tsto run the file), and in another, runbun run serve. If that doesn't work, trybunx serve -l 3000 -C ./public. (There is also an optional Go server if you want to use that over the bun server. Both seem to have a strange issue on Windows where you have to wait 5 seconds before you are allowed to refresh the page..) - Any changes you make should log in the build-ts terminal, and check the server on the second terminal to find the port. Live server is not advised when using my build script because it sometimes can refresh too much.
