Sortify is a Python desktop app built with Tkinter that lets you see how sorting algorithms work. If you've ever wondered what actually happens inside Bubble Sort or Quick Sort, this is for you!
It animates the sorting process bar by bar, and it can also plot how an algorithm's number of steps grows as the list gets bigger, so you get both the visual intuition and the complexity behind it.
This is the first screen you see. Pick any of the 20 sorting algorithms below and Sortify will take you to its settings screen.
Here you choose how the algorithm runs before watching it:
- ⚡ Speed — how fast the animation plays.
- 📊 Elements — how many bars (numbers) will be sorted.
From here you can also choose what to open next:
- 🎞️ Sorting Visualizer
- 📈 Complexity Grapher
This window shows the algorithm sorting a list of random bars in real time.
You can:
▶️ Start- ⏸️ Pause / Resume
- ⏹️ Stop
The current algorithm, animation speed and number of elements are always shown at the bottom.
Instead of animating bars, this window measures how the algorithm behaves as the input size increases.
You can:
- 📊 Compare complexity growth
- 🔀 Use random lists
- 🔄 Use reverse-ordered lists
- ⏸️ Pause the analysis at any time
Sortify currently ships with 20 sorting algorithms, each implemented in its own file.
Bubble Sort Bitonic Sort Bitwise Sort Bucket Sort Cocktail Sort Comb Sort Counting Sort Cycle Sort Gnome Sort Heap Sort Insertion Sort Intro Sort Merge Sort Pancake Sort Pigeonhole Sort Quick Sort Radix Sort Selection Sort Shell Sort Tim Sort
This project is organized into a few simple folders:
📦 Sortify
│
├── UI_Logic.py
├── main.py
├── Assets/
│ ├── Icons
│ ├── Logos
│ └── Pixelify Sans
│
└── Metodos_Ordenamiento/
├── BubbleSort.py
├── QuickSort.py
├── MergeSort.py
└── ...
Contains all Tkinter screens and controls:
- Main Menu
- Settings
- Sorting Visualizer
- Complexity Grapher
Contains one file per sorting algorithm.
Each file exposes:
- Animated version
- Study version used by the complexity grapher
Stores:
- Icons
- Logos
- Button sprites
- Pixel font
Note
These folders should remain together, since
UI_Logic.pyloads algorithms and assets using relative paths.
- Python 3.11+
- Tkinter (included with most Python installations)
- Matplotlib
- Pixelify Sans font (included in Assets/)
Install Matplotlib:
pip install matplotlibClone the repository:
git clone https://github.com/jpablo-gz/Sortify.gitGo into the project:
cd sortifyInstall the dependency:
pip install matplotlibInstall the Pixelify Sans font from the Assets folder, this is only for esthetics.
Finally, launch the application:
python main.pyMade with ❤️ using Python, Tkinter and Matplotlib




