Free Programming Books: A Curated List of Resources
Free Programming Books is a GitHub repository maintained by the Free Ebook Foundation, listing links to free books, courses, and cheat sheets organized by language and subject rather than hosting any content itself. Reach for it as a jumping-off point across many languages; skip it if you want vetted, ranked picks, since entries are just links with no rating.
What is Free Programming Books?
Free Programming Books is a curated collection of links to free programming books, online courses, cheat sheets, interactive tutorials, podcasts and screencasts, and competitive-programming problem sets. The list splits into books by programming language, books by subject, and many language-specific sections covering languages from Arabic to Vietnamese, plus a standalone search site for finding a specific title or author.
Why Use This Resource?
- โBooks split two ways: by programming language and by subject (books/free-programming-books-langs.md and books/free-programming-books-subjects.md), so you can browse by tech stack or by topic.
- โNon-English book lists for many languages, from Arabic and Bengali to Vietnamese and Ukrainian, each maintained as its own file under books/.
- โA free online courses section (courses/) with lists in languages including English, Chinese, French, German, Hindi, Japanese, Korean, Russian, and Spanish, among others.
- โA dedicated cheat sheets file (more/free-programming-cheatsheets.md) covering multiple languages in one place.
- โInteractive programming resources and browser-based programming playgrounds (more/free-programming-playgrounds.md) for practicing in-browser rather than just reading.
- โA problem-sets file for competitive programming (more/problem-sets-competitive-programming.md), separate from the book and course lists.
- โFree podcast and screencast lists (casts/) in many languages, for audio and video learners rather than readers.
- โA standalone search site (ebookfoundation.github.io/free-programming-books-search) for looking up a book or author instead of scanning markdown files, useful for developer education at any experience level.
How Developers Use This List
- โขFinding a free book on a specific language or framework instead of paying for a publisher's guide, by opening the by-language or by-subject list directly on GitHub.
- โขSearching by title or author on the dedicated search site rather than scrolling a long markdown file.
- โขReading in a native language: a non-English speaker can go straight to their language's book, course, or podcast list instead of the English-only list.
- โขPracticing in a programming playground linked from the interactive-resources or playgrounds files, without installing a local toolchain first.
- โขStudying for interviews or contests using the competitive-programming problem-sets file, kept separate from the general book lists.
- โขContributing a new resource during Hacktoberfest or any other time, since the repo is tagged hacktoberfest and documents its process in docs/CONTRIBUTING.md.
Strengths
- โWide language coverage: many book, course, podcast, and interactive-resource lists in languages other than English, each as its own file.
- โSplit into books-by-language and books-by-subject, so you can browse by tech stack or by topic rather than one long list.
- โA dedicated search site for finding a book or author by name instead of scanning markdown files.
- โCC BY 4.0 licensing on every file, a genuinely open and well-known license rather than a bespoke terms-of-use page.
- โActively maintained by a dedicated non-profit, the Free Ebook Foundation, rather than a single maintainer's side project.
What This Resource Doesn't Offer
- โณEntries are just links with a title, no rating, difficulty level, or freshness indicator, so you can't tell from the list alone whether a linked book is current or still online.
- โณNo editorial ranking: the README doesn't rank or annotate entries by quality, so evaluating a given book still means opening it yourself.
- โณThe list has no install or run step; it's markdown files of links, not a tool or app.
- โณNon-English lists vary in size language to language, and the README itself flags that some translations are still missing, pointing readers to docs/README.md#translations.
- โณContent is spread across many separate markdown files by category and language rather than one page, so without the dedicated search site you're scanning files by hand.
Other Ways to Learn Programming
Who Benefits from Free Programming Books?
Free Programming Books suits self-taught developers, computer science students, and anyone pursuing open education who wants free coding books and developer learning materials without hunting across publisher sites, plus non-English speakers who want material in their own language rather than an English-only list. It also works for anyone building a reading list for a bootcamp or study group, since files can be linked directly by category or language. It's less useful if you want a single guided curriculum with exercises and progress tracking. This is a list of links, not a course platform.
Common Questions About the Collection
Free Programming Books links to material described as freely available at the time it was added, though the README doesn't document an automated process for re-checking that every linked resource stays free or online long-term.
Free Programming Books covers books by language and by subject, free online courses, cheat sheets, interactive programming tutorials, browser-based coding playgrounds, podcasts and screencasts, and competitive-programming problem sets.
Free Programming Books lists books, courses, podcasts, and other material in many languages beyond English, including Arabic, Chinese, French, German, Hindi, Japanese, Korean, Russian, Spanish, and Vietnamese, each maintained as a separate file.
Free Programming Books provides a dedicated search site at ebookfoundation.github.io/free-programming-books-search for looking up a book or author by name, as an alternative to browsing the by-language or by-subject markdown files directly.
Each file in the Free Programming Books repository is licensed under CC BY 4.0, per the LICENSE file and the license listed on the GitHub repository.
Free Programming Books documents its contribution process in docs/CONTRIBUTING.md, with a getting-started guide for new GitHub users in docs/HOWTO.md and a Code of Conduct that contributors are expected to follow.
Related repositories
Still deciding about free-programming-books?
One click hands the question to an AI along with this page โ see what it says about free-programming-books.
