An interactive Data Structures & Algorithms visualizer built with pure HTML, CSS, and vanilla JavaScript. Learn sorting, graph traversal, and tree operations through beautiful step-by-step animations with code highlighting and beginner-friendly explanations.
Built in public by Hack Orbit Global
- Bubble Sort, Selection Sort, Insertion Sort
- Merge Sort, Quick Sort, Heap Sort
- Counting Sort, Radix Sort
- BFS (Breadth-First Search)
- DFS (Depth-First Search)
- Dijkstra's Algorithm
- A* Search
- BST Insert, Delete, Search
- Preorder, Inorder, Postorder, Level-order Traversals
- Step-by-Step Mode — walk through each step with synchronized code highlighting
- ELI5 Mode — "Explain Like I'm Dumb" beginner-friendly explanations
- Quiz Mode — test your knowledge, compete on the leaderboard
- Comparison Mode — run two algorithms side by side
- Speed Control — adjust animation speed from 0.1x to 3x
- Graph Builder — click to add nodes, drag to add edges
- Interactive Trees — insert, delete, and search nodes
- Dark mode with glassmorphism and neon accents
- Smooth Canvas-based animations
- Fully responsive (desktop + mobile)
- Custom cursor hover effects
- Keyboard shortcuts for power users
- Hack Orbit branding and theme
/
├── index.html # Main app (landing + visualizer)
├── contact.html # Contact page with form
├── privacy.html # Privacy Policy
├── terms.html # Terms & Conditions
├── css/
│ └── style.css # All styles (dark theme, glass, responsive)
├── js/
│ ├── utils.js # Shared utilities (DOM, canvas, colors, steps)
│ ├── sorting.js # 8 sorting algorithm implementations
│ ├── graphs.js # Graph data structure + 4 algorithms
│ ├── trees.js # BST + traversals
│ └── main.js # Core app controller
├── images/
│ └── favicon.svg # SVG favicon
└── README.md # This file
| Key | Action |
|---|---|
Space |
Play / Pause |
→ |
Step Forward |
← |
Step Backward |
R |
Reset |
E |
Toggle ELI5 Mode |
Q |
Toggle Quiz Mode |
Esc |
Close Modals |
We welcome contributions from everyone! Here are some ways to get started:
- Add more color themes (cyberpunk, ocean, forest)
- Add array input field (custom arrays)
- Add algorithm time comparison chart
- Add more graph algorithms (Prim's, Kruskal's, Bellman-Ford)
- Add AVL Tree / Red-Black Tree visualizations
- Add sound effects for animations
- Export visualization as GIF
- Add linked list visualizations
- Improve mobile touch interactions
- Fork this repository
- Create a branch (
git checkout -b feature/my-feature) - Make your changes and test locally
- Commit with clear messages (
git commit -m "Add: AVL tree visualization") - Push to your fork (
git push origin feature/my-feature) - Open a Pull Request
To add a new sorting algorithm:
- Add the algorithm function in
js/sorting.jsthat generatesStep[] - Add the code string to
SORTING_CODE - Add complexity info to
SORTING_COMPLEXITY - Add a button in the sidebar section of
index.html - It auto-integrates with the visualizer!
Same pattern applies for graph and tree algorithms.
- Zero dependencies — pure HTML/CSS/JS
- Canvas-based rendering — smooth 60fps animations
- Lightweight — total page load < 500KB
- requestAnimationFrame — optimized animation loop
- Debounced resize — no layout thrashing
- localStorage — no server round-trips
This Hack Orbit project is open-source for learning only. Commercial use is prohibited. Credit must be given to the original author. LICENSE for details.
- Website: DSA Visualizer
- GitHub: Hack-Orbit-Global
- Discord: Join Community
- HackOrbit: HackOrbitGlobal.vercel.app
Built with ❤️ by Hack Orbit · 2026 · Open Source