Free Programming Books is the EbookFoundation’s ever-growing catalog of, precisely, books about programming that are free to read, sorted by language, by topic, and by natural language (English, Spanish, Chinese, Arabic, 30+ others). If you want a real book-length treatment of a programming topic and don’t want to pay retail, this is the index.
View Free Programming Books on GitHub

- 392,993 stars
- 66,573 forks
- Markdown catalog
- CC-BY-4.0
Books, not tutorials
The curation rule is strict: each entry is a book-length work that is freely available: either openly licensed (O’Reilly Open Books, Creative Commons, author-published), public domain, or officially free (“first edition free” promos excluded). Tutorials, blog posts, video courses, and READMEs are out. If you want a five-minute read, this isn’t the repo; if you want a 300-page treatment of compilers, it is.
The EbookFoundation maintains quality: link-rot sweeps run monthly, dead links get PR’d out, and the maintainers actively remove “free preview” bait that isn’t a real free book.
Three useful lenses
The README is split into separate files, each a different lens:
By programming language: C, C++, Go, Haskell, Java, JavaScript, Kotlin, Lisp-family, Python, R, Ruby, Rust, Scala, Swift, TypeScript, and more. Each entry is a single book with a link to its canonical source.
By topic: Algorithms, Artificial Intelligence, Blockchain, Cellular Automata, Cloud Computing, Compiler Design, Computer Organization, Cryptography, Data Science, Databases, Game Development, Graphics Programming, Machine Learning, Mathematics, Networking, Operating Systems, Professional Development, Programming Paradigms, Quantum Computing, Regular Expressions, Reverse Engineering, Search Engines, Security, Software Architecture, Version Control Systems, Web Performance. The depth varies: Compilers has 30+ titles, Quantum has 3.
By spoken language: books written in 30+ human languages, including Arabic, Bengali, Chinese, French, German, Hindi, Indonesian, Japanese, Korean, Portuguese, Russian, Spanish, Turkish, Ukrainian, Vietnamese. This is the lens most English-native readers miss; non-native readers will want this first.
Use the search site, not the README
The README is too long to scan. The community maintains a search UI at ebookfoundation.github.io/free-programming-books-search: type a topic, get the matching books. For casual browsing the static site at ebookfoundation.github.io/free-programming-books is the same content rendered better than GitHub’s markdown.
The Hacktoberfest effect
This repo gets ~1,000 PRs every October from first-time contributors adding a book they found. Most are duplicates or low-quality; maintainers aggressively filter. The upside is that the list stays current: books published in the last six months are usually here. The downside is that the issue tracker is unusable during October.
Free Programming Books is the EbookFoundation’s curated index of book-length free programming material. Bookmark the search site, not the README, and check it before paying for any programming book: chances are a comparable free option exists.