Every major Linux distribution. Every architecture. One place.
Visit the site · Report a bug · Request a distro
Linux Library is a single-page website that makes finding and downloading any major Linux distribution easy. Instead of searching across a bunch of different sites, everything is in one place - with every link pointing to an official distribution mirror. No files are hosted here, ever.
Pick a distro, choose your architecture and edition in the designated download wizard, and you'll get the official ISO straight away in your browser.
- 33 distributions - everything from everyday desktops to security-focused and enterprise distros
- Guided download wizard - modal guides you through architecture, desktop environment, and edition
- Multiple architectures - x64, ARM64, and Raspberry Pi images where available
- Official mirrors only - every link points to the distribution's own download servers
- Zero dependencies - only HTML, CSS, and vanilla JavaScript; no frameworks, no build step
- Responsive - works on desktop, tablet, and mobile
View all 33 distributions
| # | Distribution | Category |
|---|---|---|
| 1 | Ubuntu | General purpose |
| 2 | Linux Mint | Beginner-friendly |
| 3 | Debian | Stable / Base |
| 4 | Fedora | Cutting-edge |
| 5 | Pop!_OS | Developer / Creator |
| 6 | Manjaro | Arch-based |
| 7 | Zorin OS | Windows switcher |
| 8 | Arch Linux | DIY / Advanced |
| 9 | Raspberry Pi OS | Single-board computing |
| 10 | Kubuntu | Ubuntu + KDE |
| 11 | Xubuntu | Ubuntu + Xfce |
| 12 | Lubuntu | Lightweight |
| 13 | EndeavourOS | Arch-based |
| 14 | Garuda Linux | Arch-based / Gaming |
| 15 | elementary OS | macOS-like |
| 16 | KDE neon | Latest KDE Plasma |
| 17 | MX Linux | Debian-based |
| 18 | openSUSE | Enterprise / Desktop |
| 19 | deepin | Stylish desktop |
| 20 | Red Hat Enterprise Linux | Enterprise |
| 21 | Rocky Linux | RHEL-compatible |
| 22 | AlmaLinux | RHEL-compatible |
| 23 | Oracle Linux | Enterprise |
| 24 | CentOS Stream | Enterprise upstream |
| 25 | Kali Linux | Security / Pentesting |
| 26 | Parrot OS | Security / Privacy |
| 27 | NixOS | Declarative / Reproducible |
| 28 | Tails | Privacy / Anonymity |
| 29 | Qubes OS | Security-focused |
| 30 | Alpine Linux | Minimal / Containers |
| 31 | Void Linux | Independent / Rolling |
| 32 | Gentoo | Source-based |
| 33 | CachyOS | Performance-optimised |
linux-library.github.io/
├── icons/ # Distribution logo PNGs
├── LICENSE # MIT license
├── README.md # README
├── android-chrome-192x192.png
├── android-chrome-512x512.png
├── apple-touch-icon.png
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon.ico
├── icon.png # Site icon (OG image)
├── index.html # Main page and all markup
├── robots.txt
├── script.js # Distro data + download wizard logic
├── site.webmanifest # PWA manifest
├── sitemap.xml
└── style.css # Styles (custom properties, grid, modal, animations)
I really appreciate contributors. Here's how you can help:
All distro data lives in the DISTROS array at the top of script.js. Each entry follows this structure:
{
name: 'Example OS',
website: 'https://example.com/',
img: '/icons/exampleos.png',
about: 'A short paragraph describing the distro...',
links: [
{ url: 'https://example.com/example.iso', architecture: 'x64 (recommended)', desktop: 'GNOME (recommended)' },
{ url: 'https://example.com/example-arm.iso', architecture: 'ARM64', desktop: 'GNOME' },
],
}Link objects can use any combination of the following optional keys alongside url:
| Key | Example values |
|---|---|
architecture |
'x64 (recommended)', 'ARM64', 'Raspberry Pi' |
desktop |
'GNOME (recommended)', 'KDE Plasma', 'Xfce' |
type |
'Desktop', 'Server', 'Lite', 'Full' |
The download wizard automatically detects which keys are present and builds the selection steps accordingly.
Place a square PNG (preferably 512×512 or larger) in the /icons/ directory, named in lowercase with no spaces (e.g. exampleos.png), and reference it in the img field of the distro entry.
If a download URL has changed or a new version has been released, just open an issue or submit a pull request updating the URL in script.js.
The site is deployed automatically via GitHub Pages from the main branch. No CI configuration is needed - just push to main and GitHub Pages will serve the updated site in a matter of minutes.
This project is open source and available under the MIT Licence.