whatisgithub

What is free-programming-books?

ebookfoundation/free-programming-books — explained in plain English

Analysis updated 2026-06-20

387,808PythonAudience · generalComplexity · 1/5LicenseSetup · easy

In one sentence

A massive, community-maintained index of free programming books, online courses, and tutorials covering virtually every programming topic across dozens of human languages, one of GitHub's most-starred repos, now run by the Free Ebook Foundation.

Mindmap

mindmap
  root((repo))
    Content types
      Books
      Online courses
      Interactive tutorials
    Languages
      English by topic
      English by language
      Dozens of translations
    Topics
      Programming languages
      Computer science
      Data and AI
    Access
      Markdown files
      Companion search site
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Find a free textbook on any programming language or computer science topic without paying anything.

USE CASE 2

Discover learning materials in your native language, the list covers dozens of languages beyond English.

USE CASE 3

Use the companion search site to quickly find free books by title or author without scrolling through Markdown files.

USE CASE 4

Curate a reading list for a subject area like machine learning or databases from already-vetted free resources.

What is it built with?

PythonMarkdown

How does it compare?

ebookfoundation/free-programming-booksdonnemartin/system-design-primerpublic-apis/public-apis
Stars387,808347,223432,671
LanguagePythonPythonPython
Setup difficultyeasyeasyeasy
Complexity1/51/51/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Free to use, share, and adapt for any purpose as long as you give appropriate credit, licensed under Creative Commons BY 4.0.

So what is it?

This repository is a long-running, community-curated list of freely available programming and learning resources, books, online courses, interactive tutorials, and other material. The list spans many human languages and many programming languages, so it's not just an English-only catalogue. The README explains how the project started as a clone of a Stack Overflow answer titled "List of Freely Available Programming Books," with early contributions from Karan Bhangui and George Stocker. Victor Felder moved the list onto GitHub for easier collaborative maintenance, and it eventually became one of GitHub's most popular repositories. The Free Ebook Foundation, a not-for-profit dedicated to the creation, distribution, archiving, and sustainability of free ebooks, now administers it, donations are tax-deductible in the US. Content is licensed under Creative Commons BY 4.0. Inside, resources are split into sections. Books are organised as "English by programming language", "English by subject", and translations in many other languages, Arabic, Armenian, Azerbaijani, Bengali, Bulgarian, Burmese, Chinese, Czech and many more. Beyond books, the project also lists other free learning material grouped by genre. A companion search site lets you look up entries by book or author without scrolling through Markdown files. You would use this when you want to learn a new language or topic without paying for a textbook, or when you need material in a specific human language. The repo itself is mostly Markdown, the small amount of Python listed as the primary language is project tooling rather than the books themselves.

Copy-paste prompts

Prompt 1
I want to learn [programming language] from scratch using only free resources. Find the best books for it in the free-programming-books list and give me a one-sentence description of each.
Prompt 2
I need free learning material on [topic] in Spanish. Summarize what the Spanish section of free-programming-books offers for that topic.
Prompt 3
Help me contribute a new free book to the ebookfoundation/free-programming-books repo, what format does each entry use and how do I submit a pull request?
Prompt 4
I'm teaching a web development course on zero budget. Pull the best free books on HTML, CSS, and JavaScript from this list and build me a 12-week reading plan.

Frequently asked questions

What is free-programming-books?

A massive, community-maintained index of free programming books, online courses, and tutorials covering virtually every programming topic across dozens of human languages, one of GitHub's most-starred repos, now run by the Free Ebook Foundation.

What language is free-programming-books written in?

Mainly Python. The stack also includes Python, Markdown.

What license does free-programming-books use?

Free to use, share, and adapt for any purpose as long as you give appropriate credit, licensed under Creative Commons BY 4.0.

How hard is free-programming-books to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is free-programming-books for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.