A curated list of high-quality, actively-maintained open-source tools and repositories for computer science education, research, and practice.
Focus: Quality over comprehensiveness. Every entry is here because it genuinely solves a problem for students, researchers, and professionals of computer science.
This list prioritizes quality over comprehensiveness:
Active Maintenance: Tools actively updated within the past few years.
Genuine Utility: Each tool solves real problems for CS students, researchers, and practitioners. No bloat, no niche-only tools.
Learning Value: Educational context provided where appropriate. We explain why a tool matters, not just that it exists.
Cross-Platform Support: Priority given to tools working on Linux, macOS, and Windows. Platform-specific alternatives are noted.
Community Adoption: Established projects with proven track records. Generally 100+ GitHub stars indicates real-world usage.
- A complete registry of all open-source CS tools (see GitHub Topics for exhaustive lists)
- A replacement for language-specific awesome lists (Python, JavaScript, Rust, etc.)
- A dumping ground for every project tagged "open-source"
- Promotional material for anyone's pet project
- Package Managers
- Version Control & Git
- Editors & IDEs
- Terminals & Shells
- Terminal Multiplexers
- Shell Prompt Customization
- Resource Monitors
- Documentation & Knowledge Management
- API Development & Testing
- Databases & Data Management
- Testing & Quality Assurance
- DevOps & CI/CD
- Monitoring & Observability
- Containers & Virtualization
- Security Tools
- Media & Diagramming
- USB Bootable OS Burners
- Remote Desktop & Access Tools
- Related Awesome Lists
Tools used to automate the installation, updating, and management of software dependencies.
- Homebrew
MacOS[Website] | [Github]: The standard package manager for macOS. Installs command-line tools, applications, and programming language packages. - MacPorts
MacOS[Website] | [Github]: Alternative to Homebrew with a different philosophy; less commonly used. - Nix
Linux / MacOS[Website] | [Github]: Declarative package manager with reproducible builds; steep learning curve but powerful. - Snap
Linux[Website] | [Github]: Canonical's containerized package format; great for quick installation of apps. - Flatpak
Linux[Website] | [Github]: Sandboxed application framework; similar to Snap but with different trade-offs. - Scoop
Windows[Website] | [Github]: Command-line installer for Windows; similar philosophy to Homebrew. - Chocolatey
Windows[Website] | [Github]: Largest package manager for Windows; GUI and CLI options available.
Platforms used to track code changes, collaborate, manage versions, and contribute to open-source projects.
- GitHub [Website]: Largest Git hosting platform; excellent for discovering projects, contributing, and building your portfolio.
- GitLab [Website] | [Github]: Full DevOps platform with built-in CI/CD, container registry, and issue tracking.
- Forgejo [Website] | [CodeBerg]: Lightweight, self-hosted Git service; perfect for private repositories on your own infrastructure.
Tools used to write, edit, debug, and manage code efficiently.
- Visual Studio Code (VSCode)
Full-Featured IDELinux / MacOS / Windows[Website] | [Github]: The most popular editor today. Lightweight yet extensible with thousands of plugins. Best for beginners and professionals alike. - VSCodium
Full-Featured IDELinux / MacOS / Windows[Website] | [Github]: VS Code without Microsoft branding, telemetry, or proprietary licensing; pure open-source. - Zed
Full-Featured IDEMacOS / Linux[Website] | [Github]: High-performance collaborative editor written in Rust; designed for speed and collaboration. - JetBrains
Full-Featured IDELinux / MacOS / Windows[Website]: Full-featured IDEs for specific languages (PyCharm for Python, IntelliJ for Java, WebStorm for JavaScript). Free Community editions available. - Apache NetBeans
Full-Featured IDELinux / MacOS / Windows[Website] | [Github]: Full IDE for Java, C++, PHP, and JavaScript development. - Eclipse
Full-Featured IDELinux / MacOS / Windows[Website] | [Github]: Extensible open-source IDE with support for Java, C/C++, Python, and many other languages through plugins; highly customizable with a large ecosystem of extensions. - Sublime Text
Lightweight EditorsLinux / MacOS / Windows[Website]: Fast, distraction-free editor with powerful multi-selection and command palette. Commercial license available. - Lapce
Lightweight EditorsLinux / MacOS / Windows[Website] | [Github]: Fast, modern editor written in Rust; open-source alternative to VS Code with similar philosophy. - Geany
Lightweight EditorsLinux / MacOS / Windows[Website] | [Github]: Lightweight GTK editor; great for quick editing without overhead. - Vim
Terminal EditorsLinux / MacOS / Windows[Website]: Modal text editor; available on every Unix system. Master the basics to be productive everywhere. - Emacs
Terminal EditorsLinux / MacOS / Windows[Website]: Extensible Lisp machine; incredible power and flexibility but challenging for beginners. - Nano
Terminal EditorsLinux / MacOS / Windows[Website]: Beginner-friendly terminal editor; always available on Unix systems. - Neovim
Terminal EditorsLinux / MacOS / Windows[Website] | [Github]: Modern successor to Vim; highly extensible with Lua configuration; steep learning curve but unmatched efficiency for power users. - Helix
Terminal EditorsLinux / MacOS / Windows[Website] | [Github]: Modal editor combining the best of Vim and modern ergonomics.
Tools used to interact with your computer, run commands, and manage development workflows.
- Alacritty
TerminalLinux / MacOS / Windows[Github]: GPU-accelerated terminal written in Rust. Blazing fast, minimal configuration. Best for speed. - Wezterm
TerminalLinux / MacOS / Windows[Website] | [Github]: Feature-rich, written in Rust; excellent font rendering and tab support. - Kitty
TerminalLinux / MacOS[Website] | [Github]: Modern terminal with image support, fast graphics, and cross-window operations. - iTerm2
TerminalMacOS[Website] | [Github]: Full-featured macOS terminal with split panes, search, autocomplete, and advanced features. - Ghostty
TerminalMacOS / Linux[Website]: Fast, modern terminal emulator focused on simplicity and performance. - Zsh
Shell EnvironmentsLinux / MacOS[Website]: More powerful than Bash with better completion and theming. Default on modern macOS. - Fish
Shell EnvironmentsLinux / MacOS[Website] | [Github]: User-friendly shell with syntax highlighting and smart completions out of the box.
Tools used to split terminals, manage panes, and maintain persistent sessions.
- tmux
Linux / MacOS[Website]: The standard multiplexer; available on every Unix system. Steep learning curve but industry standard. - Zellij
Linux / MacOS / Windows[Website] | [Github]: Modern, user-friendly alternative to tmux written in Rust; better defaults. - GNU Screen
Linux / MacOS[Website]: Older multiplexer; less popular than tmux but still widely available. - mtm
Linux / MacOS[Website]: Minimal terminal multiplexer; lightweight alternative.
Tools used to customize your terminal prompt with useful information and visual enhancements.
- Starship
Linux / MacOS / Windows[Website] | [Github]: Minimal, fast shell prompt written in Rust. Works with any shell. - Oh My Zsh
Linux / MacOS[Website] | [Github]: Framework for Zsh configuration; includes themes, plugins, and aliases. - Pure
Linux / MacOS[Github]: Minimal Zsh/Bash prompt written in pure shell script. - Powerlevel10k
Linux / MacOS / Windows[Github]: Powerful Zsh theme with instant prompt; highly customizable.
Tools used to extend shell functionality with plugins and command-line utilities.
- zsh-syntax-highlighting [Github]: Real-time syntax highlighting in Zsh; catches errors before executing.
- zsh-autosuggestions [Github]: Suggests previous commands as you type; huge productivity boost.
- Bat [Github]: Cat clone with syntax highlighting and line numbers; makes code readable in terminal.
- fd [Github]: Fast alternative to find command; simpler syntax and colored output.
- ripgrep (rg) [Github]: Blazingly fast grep alternative; searches code recursively with smart defaults.
- fzf [Github]: Fuzzy finder for command-line; search files, history, and processes interactively.
- Atuin [Github]: Shell history database in SQLite; search and sync shell history across machines.
- The Fuck [Github]: Corrects your previous console command; fun and useful.
- eza [Github]: Modern replacement for ls; colored output, tree views, and better defaults.
Tools used to monitor CPU, memory, disk, network, and overall system performance.
- htop
Linux / MacOS[Github]: Interactive process viewer; better than top with colors and easy navigation. - btop
Linux / MacOS[Github]: Modern resource monitor with graphs; beautiful dashboard. - Glances
Linux / MacOS / Windows[Github]: Cross-platform system monitoring tool; available as web interface. - bpytop
Linux / MacOS[Github]: Archived in favor of btop; still functional for older systems.
Tools used to document code, projects, and technical knowledge.
- MkDocs [Website] | [Github]: Static site generator for project documentation using Markdown. Simple and fast.
- Sphinx [Website] | [Github]: Documentation generator originally for Python; now used for many projects.
- Hugo [Website] | [Github]: Static site generator written in Go; extremely fast with thousands of themes.
- Jekyll [Website] | [Github]: Static site generator powering GitHub Pages; perfect for blogs and documentation.
- Obsidian [Website]: Local-first knowledge base with powerful linking and backlinking; proprietary but stores files locally.
- Logseq [Website] | [Github]: Open-source knowledge base with outliner and graph view; alternative to Obsidian.
- Joplin [Website] | [Github]: Open-source note-taking and to-do app with Markdown support, end-to-end encryption, syncing, and cross-platform support; alternative to Evernote and Obsidian.
Tools used to build, test, and interact with APIs efficiently.
- Bruno
API ClientLinux / MacOS / Windows[Github]: Lightweight, Git-friendly API client. Similar to Postman but open-source and stores collections as text files. - Hoppscotch
API ClientOnline / Self-hosted[Website] | [Github]: Free, lightweight API client that runs in the browser. - Insomnia
API ClientLinux / MacOS / Windows[Website] | [Github]: Full-featured API platform for design and testing. - HTTPie
API ClientLinux / MacOS / Windows[Website] | [Github]: Command-line HTTP client; simpler syntax than curl. - FastAPI
API Framework[Website] | [Github]: Modern Python framework for building APIs with automatic documentation. - Flask
API Framework[Website] | [Github]: Lightweight Python web framework; great for learning and small projects. - Django
API Framework[Website] | [Github]: Full-featured Python framework with batteries included (ORM, admin panel, authentication). - Express.js
API Framework[Website] | [Github]: Minimal Node.js framework for building web APIs.
Databases used to store, query, and manage data for different applications and use cases.
- PostgreSQL
Relational[Website] | [Github]: The most advanced open-source relational database. Powerful, reliable, battle-tested at scale. - MySQL
Relational[Website] | [Github]: Fast, reliable database; the M in LAMP and MEAN stacks. - SQLite
Relational[Website] | [Github]: Embedded database; perfect for single-file databases and development. - MongoDB
NoSQL[Website] | [Github]: Document database; flexible schemas, great for rapid development. - Cassandra
NoSQL[Website] | [Github]: Distributed NoSQL database; horizontal scalability and fault tolerance. - Redis
In-Memory[Website] | [Github]: In-memory data structure store; excellent for caching, sessions, and real-time applications. - Memcached
In-Memory[Website] | [Github]: Simple, high-performance distributed memory caching system. - ClickHouse
Time-Series[Website] | [Github]: Blazingly fast analytical database for big data; optimized for OLAP queries. - InfluxDB
Time-Series[Website] | [Github]: Time-series database; perfect for metrics, monitoring, and time-stamped data. - Kafka
Streaming[Website] | [Github]: Distributed event streaming platform for high-throughput, real-time data pipelines and event-driven applications.
Tools used to test software at different levels and ensure reliability.
- pytest
Unit TestingPython[Website] | [Github]: The most popular Python testing framework; simple to write, powerful assertions. - Jest
Unit TestingJavaScript[Website] | [Github]: Popular JavaScript test framework with great defaults and snapshot testing. - JUnit
Unit TestingJava[Website] | [Github]: Standard testing framework for Java. - Cypress
E2E TestingWeb[Website] | [Github]: Modern E2E testing framework; excellent developer experience with real browser automation. - Selenium
E2E TestingWeb[Website] | [Github]: Industry-standard browser automation; works with many languages and browsers. - Playwright
E2E TestingWeb[Website] | [Github]: Modern browser automation from Microsoft; supports Chrome, Firefox, and WebKit. - Appium
UI TestingMobile/Web/Desktop[Website] | [Github]: Cross-platform automation framework for testing native, hybrid, and mobile web applications. - Lighthouse
UI TestingWeb[Website] | [Github]: Automated web auditing tool for performance, accessibility, SEO, best practices, and progressive web apps. - Maestro
UI TestingMobile/Web[Website] | [Github]: Simple, declarative UI testing framework focused on reliable mobile and web end-to-end tests. - Flashlight
UI TestingMobile[Website] | [Github]: Open-source mobile application performance testing and profiling tool. - axe-core
Accessibility TestingWeb[Website] | [Github]: Open-source accessibility testing engine for detecting WCAG violations in web applications. - WAVE
Accessibility TestingWeb[Website]: Browser-based accessibility evaluation tool for identifying WCAG-related issues and accessibility improvements. - k6
Load TestingJavaScript[Website] | [Github]: Modern load testing tool; write tests in JavaScript, analyze results easily. - Apache JMeter
Load TestingJava[Website] | [Github]: Popular load testing tool with GUI; supports many protocols. - SonarQube
Code QualityMultiple languages[Website] | [Github]: Code quality and security analysis; integrates with CI/CD pipelines. - ESLint
Code QualityJavaScript[Website] | [Github]: Find and fix problems in JavaScript code. - Pylint
Code QualityPython[Website] | [Github]: Python code quality analyzer.
Tools used to automate testing, building, and deploying software.
- GitHub Actions
CI/CD[Website] | [Docs]: Native GitHub integration; free tier generous. Best for GitHub projects. - GitLab CI/CD
CI/CD[Docs]: Built into GitLab; powerful and flexible. Great for self-hosted runners. - Jenkins
CI/CDSelf-hosted[Website] | [Github]: The classic CI/CD platform; powerful but requires maintenance. - Travis CI
CI/CD[Website] | [Github]: Hosted CI/CD platform with simple YAML-based configuration; integrates with GitHub and is well suited for automated builds, tests, and deployments. - Woodpecker
CI/CD[Website] | [Github]: Simple, container-based CI/CD; works with GitHub, GitLab, Gitea. - Terraform
Infrastructure as Code[Website] | [Github]: Infrastructure as code for any cloud provider; manage resources declaratively. - Ansible
Infrastructure as Code[Website] | [Github]: Configuration management and infrastructure provisioning; agentless and simple.
Tools used to monitor system health, application performance, metrics, and logs.
- Prometheus
Metrics[Website] | [Github]: Time-series metrics database and alerting system. Industry standard. - Grafana
Dashboard[Website] | [Github]: Visualization and analytics platform; create beautiful dashboards from any data source. - Loki
Logging[Website] | [Github]: Log aggregation system by Grafana; works great with Prometheus. - Loguru
Logging[Website] | [Github]: Simple, developer-friendly Python logging library with structured logging, automatic exception handling, rotation, and serialization. - Sentry
Crash Reporting[Website] | [Github]: Real-time error tracking and application performance monitoring; captures exceptions, crashes, traces, and performance issues. - Countly
Crash Reporting[Website] | [Github]: Open-source product analytics and crash reporting platform for tracking user behavior, application performance, and crashes.
Tools used to package applications with their dependencies for consistent deployment.
- Docker
Container EngineLinux / MacOS / Windows[Website] | [Github]: The standard container platform; ubiquitous in modern development. - Podman
Container EngineLinux / MacOS / Windows[Github]: Drop-in Docker replacement; rootless containers, no daemon required. - containerd
Container EngineLinux[Github]: Low-level container runtime used by Docker and Kubernetes. - Incus
Container Engine / Virtual MachinesLinux[Website] | [Github]: Open-source system container and virtual machine manager; lightweight alternative to Docker and traditional VM platforms, with support for Linux containers and full VMs. - container
Container EngineMacOS[Github]: Apple's lightweight Linux container runtime for macOS, designed for fast, isolated Linux containers using Apple's virtualization technology. - Buildah
Building Images[Github]: Build container images without a daemon; flexible and scriptable. - UTM
Virtual MachinesMacOS[Website] | [Github]: Virtual machine manager for macOS with great UI. - Quickemu
Virtual MachinesLinux / MacOS[Github]: Quick virtual machine provisioning script. - VirtualBox
Virtual MachinesLinux / MacOS / Windows[Website]: Free, powerful virtualization; works everywhere. - WebVM
Virtual MachinesBrowser[Website] | [Github]: Browser-based virtual machine environment powered by WebAssembly; run Linux and other software directly in the browser without local installation. - Kubernetes
Container Orchestration[Website] | [Github]: Production-grade container orchestration; steep learning curve but industry standard. - Docker Compose
Container Orchestration[Website] | [Github]: Define and run multi-container applications; great for development. - Colima
Container RuntimeMacOS / Linux[Github]: Lightweight container runtime for macOS and Linux; provides Docker and containerd environments using a minimal virtual machine with simple CLI-based management.
Tools used to identify vulnerabilities and improve software security.
- OpenSSL
Encryption[Website] | [Github]: Cryptography and SSL/TLS libraries and tools. - GnuPG
Encryption[Website] | [Github]: GNU implementation of PGP; sign and encrypt files and emails. - Bitwarden
Password Manager[Website] | [Github]: Password manager with self-hosted option; secure and open-source. - KeePass
Password Manager[Website] | [Github]: Offline password manager; stores database locally. - HashiCorp Vault
Password Manager[Website] | [Github]: Secrets management for infrastructure; handles credentials, API keys, certificates. - OWASP ZAP
Security Scanner[Website] | [Github]: Web application security scanner; find vulnerabilities before attackers do. - Trivy
Security Scanner[Website] | [Github]: Vulnerability scanner for containers and artifacts.
Tools used to create diagrams, presentations, graphics, and other visual content.
- VLC
Media PlayerLinux / MacOS / Windows[Website] | [Github]: Universal media player; plays virtually any format. - OBS Studio
Media Streaming / RecordingLinux / MacOS / Windows[Website] | [Github]: Live streaming and screen recording software. - Shotcut
Media EditorLinux / MacOS / Windows[Github]: Video editor with timeline; free and feature-rich. - Inkscape
Graphics EditorLinux / MacOS / Windows[Website] | [Github]: Vector graphics editor; design logos, illustrations, and technical drawings. - GIMP
Graphics EditorLinux / MacOS / Windows[Website] | [Github]: Raster graphics editor; image manipulation and photo editing. - Krita
Graphics EditorLinux / MacOS / Windows[Website] | [Github]: Painting software designed for digital artists; excellent brush engine. - draw.io
Diagram EditorWeb / Desktop[Website] | [Github]: Diagram editor for flowcharts, mockups, and architecture diagrams. - Mermaid
Diagram Editor[Website] | [Github]: Create diagrams from markdown text; flowcharts, sequence diagrams, and more. - Excalidraw
Diagram Editor[Website] | [Github]: Virtual whiteboard with hand-drawn aesthetic; great for sketches. - D2
Diagram Editor[Website] | [Github]: Modern diagram language; write diagrams as text. - Slidev
Presentation Editor[Website] | [Github]: Presentations written in Markdown; developer-friendly.
Tools used to create bootable USB drives for installing or running operating systems.
- balenaEtcher
Windows / MacOS / Linux[Github]: Flash OS images to USB drives with one click. - Rufus
Windows[Github]: Fast and reliable USB bootable media creator. - Ventoy
Windows / Linux[Github]: Create bootable USB from multiple ISO files.
Tools used to remotely access and manage development machines.
- RustDesk
Remote DesktopLinux / MacOS / Windows[Website] | [Github]: Open-source, self-hostable remote desktop solution with low-latency access, file transfer, and cross-platform support. - TigerVNC
Remote DesktopLinux / MacOS / Windows[Website] | [Github]: Open-source, high-performance VNC server and client for remotely accessing graphical desktops. - RealVNC
Remote DesktopLinux / MacOS / Windows[Website]: Reliable VNC-based remote access with cloud connectivity, direct connections, and cross-platform support. - Apache Guacamole
Remote DesktopWeb / Linux / MacOS / Windows[Website] | [Github]: Open-source, clientless remote desktop gateway accessible through a web browser; supports VNC, RDP, and SSH. - Chrome Remote Desktop
Remote DesktopWeb[Website]: Simple, free remote access solution for securely connecting to computers through a web browser. - AnyDesk
Remote DesktopLinux / MacOS / Windows[Website]: Fast, low-latency remote desktop with cross-platform support, file transfer, and remote administration features. - TeamViewer
Remote DesktopLinux / MacOS / Windows[Website]: Popular cross-platform remote desktop and support platform with remote access, file transfer, device management, and collaboration features. - Mosh
Remote TerminalLinux / MacOS / Windows[Website] | [Github]: SSH-like remote terminal designed for unreliable or changing networks; maintains sessions when switching networks or temporarily losing connectivity. - MeshCentral
Remote ManagementLinux / MacOS / Windows[Website] | [Github] — Open-source, self-hosted remote computer management platform with browser-based desktop, terminal, file transfer, and device administration.
-
awesome-computer-vision-resources: Structured learning reference for computer vision: from image fundamentals to research frontiers.
-
awesome-computer-vision-tools: Curated tools for the full CV pipeline: training, data augmentation, experiment tracking, inference, edge deployment, and MLOps.
-
awesome-academic-cs: Academic resources for teaching and research in computer science.
Contributions are welcome! Before submitting, please review these guidelines.
- Open-source & actively maintained (updated within the past 2 years)
- Solves a real problem for CS students, researchers, or professionals
- Has community adoption (100+ GitHub stars is a good indicator)
- Educational value (good documentation, learning resources)
- Duplicate entries
- Commercial products (even with free tiers)
- Abandoned projects (>2 years without updates)
- Niche tools with very small user base
Format your suggestion like this:
- **Name** `Platform(s)` [[Website](url)] | [[Github](url)]
- One-sentence description of what it does.
- Key features that make it stand out.- Does this really belong here? Check existing categories first. Don't fragment categories.
- Creating a new category? Ensure there are 3+ tools to justify it. Keep categories focused.
- Test all links before submitting to ensure they're current.
- Respect the format so the list remains consistent and scannable.
This list and all its content are released under the CC0 1.0 Universal License.
All projects linked in this list are open-source with their respective licenses.
- The open-source community for building amazing tools
- Contributors who've improved this list
- awesome.re for the awesome badge and guidelines