100% Open SourceStar on GitHub

VISUALIZE

ALGORITHMS

BEAUTIFULLY

The open-source algorithm visualization platform. Interactive visualizations for sorting, searching, graphs, trees, and more. Learn through step-by-step animations.

Free forever·No sign-up·MIT Licensed
/ Features

EVERYTHING YOU NEED
100% FREE

Professional visualizations. Zero cost. No catch.

Sorting Algorithms

Watch bubble sort, quick sort, merge sort, and more with smooth step-by-step animations.

Step Control

Go forward, backward, or auto-play at your own pace.

PlayPauseStepReset

Speed Control

Slow-motion to lightning fast animations.

0.5x10x

Searching Algorithms

Linear, binary, and more with visual feedback on every comparison.

2
5
8
11
12
16
23
28
38
56
60
67
72
81
91
99
123
212
Target: 67

Tree Structures

Visualize BST, traversals, AVL rotations, and more.

50302040706080

Keyboard Shortcuts

Power user controls for efficient navigation.

Space
R
SpacePlay/Pause

Graph Algorithms

BFS, DFS, Dijkstra's, and pathfinding visualized.

ABCDEF

AI Assistant

Get explanations, optimizations, and step-by-step guidance powered by AI.

U
Explain bubble sort
EDITOR
JSPYC++JAVA
function sort(arr) {
// AI optimized
...
}

Code Sync

See the exact line executing as the algorithm runs.

1function bubbleSort(arr) {
2for (let i = 0; i < arr.length; i++) {
3for (let j = 0; j < arr.length - i - 1; j++) {
4if (arr[j] > arr[j + 1]) {
5[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
6}
7}
8}
9return arr;
10}

Shareable URLs

Share your visualization state with a simple link. Perfect for teaching and collaboration.

opendsa.dev/visualize/sorting/bubble?data=5,3,8,1&step=4
/ System Architecture

PLUGIN-BASED
VISUALIZER ENGINE

Every algorithm is a self-contained plugin with its own visualization logic. This makes OpenDSA extensible, maintainable, and community-friendly.

  • Step-based animation system
  • Modular visualizer registry
  • Shared UI components
  • URL state sync
interface VisualizerPlugin {
meta: {
id: "bubble-sort",
name: "Bubble Sort",
category: "sorting",
},
generateSteps(arr: number[]): Step[],
component: React.FC,
}
/ Plugin Registration Flow
BubbleSortPlugin
registry.register()
Visualizer Registry
/visualize/bubble-sort
Renderer
Plugin defines meta, component, and step generator
/ System Diagnostics

UNDER THE
HOOD

Built on modern browser capabilities. No servers needed for visualizations. Everything runs client-side for instant feedback.

Framework

Next.js 14

App Router & Server Components

Animation

Framer Motion

Smooth declarative animations

Visualization

D3.js + Canvas

Powerful data visualization

Styling

TailwindCSS

Utility-first CSS

State

Zustand

Lightweight state

Build

Turborepo

High-performance monorepo

/ Roadmap

THE PATH TO V1.0

Building in public. Ship fast, iterate faster.

01In Progress

Foundation

Q1 2026

  • Turborepo monorepo setup
  • 5 sorting algorithms
  • 2 searching algorithms
  • Animation engine
02

Core Features

Q2 2026

  • Graph algorithms
  • Tree visualizations
  • Data structures
  • Code editor integration
03

Learning

Q3 2026

  • Learning paths
  • Interactive tutorials
  • Challenge mode
  • Community features
04

Advanced

Q4 2026

  • User accounts
  • Save visualizations
  • Embed widget
  • Public API
/ Implementation Roadmap

THE AMBITIOUS LIST

71+ algorithms and data structures. This is what we're building together. Pick one and contribute, or suggest new ones. ML/DL, Maths, Physics, algorithms from other fields, and visualizers are all welcome.

Progress0/71 (0%)
opendsa@roadmap ~ $
OpenDSA Implementation Roadmap

Click on any category to expand/collapse

Status: Implemented Pending
$

Open to Contributions: Machine Learning, Deep Learning, Physics, Math, Algorithm Visualizers etc...

/ HELP_TERMINAL

FREQ.
ASKED
QUEST.

Common questions about licensing, architecture, and technical capabilities.

/ Open Source

BUILT BY THE COMMUNITY
FOR THE COMMUNITY

OpenDSA is 100% open source and always will be. Join us in building the best algorithm visualization platform.

Contributors(1)
git log --format="%an" | sort -u
👑 100+ commits⭐ 50+ commits20+ commitsContributor
...
Stars
...
Forks
...
Contributors
Free
MIT License
Contribution types: New AlgorithmsBug FixesDocumentationUI/UX DesignTestingTranslations