Generate a Tetr.io connected skin from minimal input as possible. You only had to draw each piece of mino and garbage to generate connected skin.
You're still required to use TETR.IO PLUS to be able to use skins.
https://youtu.be/4WbTkecoOTM?t=97 (starts at 1:37)
If you don't fancy installing python yourself or are unfamiliar with python, you may try using one of the executables that are available on the releases tab, just run the executable, GUI will then appear, simple as that.
Linux was packaged on WSL using pyinstaller and never tested before since I don't use any linux os, I can't guarantee if this works for you.
Otherwise follow along this guide.
After you downloaded python, make sure to check Add Python to PATH before installation.
After python is installed on your machine, open command prompt and type:
pip install pillow
And then, download this repository as zip. If you don't know how to
Assuming you already created your skin from the template that I provided and have installed python, simply type:
[windows] python main.py
[linux] python3 main.py
on the current folder where this script is located. A GUI will then appear.
Skin files should be named correctly in order for the script to detect and use them, it only support .png and .jpg formats. You can find example skin for each method in the example_skin folder.
Here are the list of name keys.
Generate skin based on the skin location and options that you selected.
Merge result.png and disabled.png, by default this uses export location instead of the skin location. This is optional for Standard and advanced as you can provide u_disabled instead.
By default, this uses automatic, which guess what kind of skin you are trying to export by preserving file names. Refer to the name keys for more info on each method.
Wherever to generate or use flat color for disabled mino. This option is ignored for universal, mixed, standard, and advanced (if you have u_disabled file).
Small QOL as TETR.IO PLUS fails to import if you try to drag and drop the 2x file.
If you require further assistance, you can contact me through my discord (K·#4963) or any social media that I had.
- Possibly a support for GIF format.
- Possibly a web.
- A generation method from just a singular block
GUI will autofill the Skin location if there's only a single folder inside the directory. This, however, does not have checks unlike the CLI version.
Some part of the skin were intentionally left empty because only several portion are visible when rotated/skimmed.
I was using Python 3.8 and Pillow 9.1.1 for this script, result might differ if you use a lower version than this. This isn't the case if you used the executable.
July 2 2022:
- Added
Mixedexample skin - Added an example skin of ghost minos
- Add support for singular garbage for
Mixedmethod - Bug fixes:
ValueError: bad transparency maskwhen tried to paste RGB on RGBA images, oversight onMixedmethod checks
July 1 2022:
- Added
Mixedskin generation method - Added
Advancedskin generation method and example skin - First major release as all essential features have been added
- Code improvement
- Bug fixes: checks will start from longest name first as it conflict with others, double append that caused by
automaticmethod which result in doublesname keys
June 29 2022:
- Added GUI. Since I'm using WSL, I can no longer try to run the linux executable
- Added
Universalskin generation method
June 28 2022:
- Attempted cross platform support (windows/linux)
- Bundled an executable for windows and linux, both were tested and works
June 27 2022:
- Initial release









