100 Free Programming Books Every Developer Needs
β‘ Quick Answer
A curated, categorised list of real, free programming books across languages and topics β every title verified to actually exist and be free.
Get more content like this on Telegram!
Daily AI tips, notes & resources β free
Advertisement
100 Free Programming Books Every Developer Needs
There is no single list of exactly one hundred free programming books that everyone agrees on, but this article curates a genuinely free, currently available set across the languages and topics developers ask about most, organised so you can find the right one in under a minute.
Updated for 2026. Links and free-tier details change β verify before relying on any resource for a deadline.
Every book named here is real and free to read in full online today. None are invented, and none rely on a "coming soon" edition. Each entry gets a short description and a best-for line so you can scan a category and pick one instead of reading a hundred summaries end to end.
A quick note before the list: several of these books also have a paid print edition available for people who prefer a physical copy or want to support the author, but the full digital text is free in every case listed here. Where that's not true of a specific title, it's noted explicitly rather than left ambiguous.
JavaScript and Web Development
Eloquent JavaScript by Marijn Haverbeke β a complete introduction to JavaScript with interactive, in-browser coding exercises built into the text itself. Best for beginners who want to learn by writing real code as they read, not just after finishing a chapter.
You Don't Know JS Yet by Kyle Simpson β a multi-book series digging into JavaScript's less obvious mechanics: scope, closures, prototypes, and asynchronous programming. Best for intermediate developers who already write JavaScript but want to actually understand why it behaves the way it does.
MDN Web Docs Guides β while structured as a reference site rather than a single book, MDN's guide sections on HTML, CSS, and JavaScript function as a comprehensive, continuously updated free textbook on the web platform. Best for looking up exactly how a specific API or CSS feature is meant to behave.
Python
Automate the Boring Stuff with Python by Al Sweigart β a practical, project-first introduction to Python built around automating everyday tasks like file handling and spreadsheets. Best for absolute beginners who want to see immediate, useful results.
Think Python by Allen B. Downey β a free introduction to Python that leans more academic, framing programming as a way of thinking rather than just a set of syntax rules. Best for learners who want a more structured, computer-science-flavoured introduction to Python.
Python Data Science Handbook by Jake VanderPlas β a free, comprehensive guide to using Python's core data science stack, including NumPy, pandas, and Matplotlib. Best for developers moving from general Python into data analysis work.
Systems Languages: C, C++, Rust, Go
The Rust Programming Language (the official Rust book) β the canonical, free introduction to Rust, maintained by the Rust project alongside the language's own development. Best for a structured, authoritative path into Rust that stays current with the language.
Learn C the Hard Way-style free C references and The C Programming Language's many free companion notes circulating from university courses are commonly used alongside official documentation, though the original K&R book itself is not free; pair free lecture notes from university course sites with the language's official free documentation for a no-cost path into C.
The Go Programming Language Specification and the free "A Tour of Go", both maintained on the official Go website, function as a free, authoritative introduction to Go's syntax and idioms. Best for developers who want to learn Go directly from its maintainers rather than a third party.
Building Your Own Language or Compiler
Crafting Interpreters by Robert Nystrom β a deeply practical, free walkthrough of building two complete programming language interpreters from scratch, one in Java and one in C. Best for developers who want to genuinely understand how the languages they already use actually work under the hood.
This is a narrower topic than most on this list, but it's included because the book is unusually good and free in full, including all source code, directly on the author's site.
Computer Science Fundamentals
Structure and Interpretation of Computer Programs (SICP) by Abelson and Sussman β a classic, free computer science textbook using Scheme to teach core programming concepts like abstraction and recursion. Best for developers who want the conceptual foundation taught in many top computer science programs, delivered for free.
Open Data Structures by Pat Morin β a free, open-source textbook covering data structures with implementations in multiple languages. Best for building or refreshing a solid foundation in data structures outside of a specific language course.
Teach Yourself Computer Science in Data Structures and Algorithms β several free, community-curated study guides referencing the above and similar free texts circulate specifically for interview preparation; use them as a map to free material rather than a book in themselves.
Web Backend and Databases
The Twelve-Factor App β a free, concise methodology guide (originally from Heroku) describing best practices for building modern, scalable backend applications. Best for developers moving from a single script to a properly deployable service.
Use The Index, Luke by Markus Winand β a free, focused guide specifically about how database indexes work and how to use them well in SQL. Best for backend developers whose queries are slow and who need to understand why, not just copy a fix.
PostgreSQL's official documentation β while a reference rather than a narrative book, PostgreSQL's free, thorough official docs function as a complete textbook on relational database concepts as implemented in one of the most widely used open-source databases. Best for developers who want to learn SQL and database design against a real, production-grade system.
Functional Programming
Learn You a Haskell for Great Good by Miran LipovaΔa β a free, famously friendly and illustrated introduction to Haskell and functional programming concepts like pure functions and monads. Best for developers curious about functional programming who want a genuinely approachable entry point into a notoriously academic-feeling language.
Real World Haskell by Bryan O'Sullivan, Don Stewart, and John Goerzen β a free, more practical companion to Learn You a Haskell, focused on building actual programs rather than just concepts. Best for developers who've read an introductory Haskell text and want to see the language used on real problems.
Learn You Some Erlang for Great Good by Fred HΓ©bert β a free, similarly playful introduction to Erlang and the actor-model concurrency ideas that later influenced Elixir. Best for developers interested in how highly concurrent, fault-tolerant systems are actually built.
Command Line, Git, and Developer Fundamentals
The Linux Command Line by William Shotts β a free, complete PDF book teaching the Linux shell from absolute basics through shell scripting. Best for developers who want to stop guessing at terminal commands and actually understand how the shell works.
Pro Git by Scott Chacon and Ben Straub β the official, free Git book, covering everything from basic commits to internals like Git's object model. Best for moving past copy-pasted Git commands toward actually understanding branching, merging, and rebasing.
Dive Into HTML5 by Mark Pilgrim β a free, detailed look at HTML5's then-new features, still useful as a well-written explanation of how many core HTML5 APIs work. Best for developers who want the reasoning behind HTML5 features, not just a syntax reference.
AI, Machine Learning, and Data
Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville β a free, rigorous textbook covering the mathematical foundations of deep learning, available in full online at deeplearningbook.org. Best for developers who want the actual theory behind neural networks, not just a framework tutorial.
Dive into Deep Learning (d2l.ai) β a free, interactive textbook pairing deep learning theory with runnable code in multiple frameworks, maintained by a team including Amazon researchers. Best for learners who want to read theory and immediately run the corresponding code in the same page.
Mathematics for Machine Learning by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong β a free PDF covering the linear algebra, calculus, and probability underpinning most machine learning methods. Best for developers whose math is rusty and who want it rebuilt specifically for ML use cases.
Speech and Language Processing by Dan Jurafsky and James H. Martin β a free, draft-in-progress textbook on natural language processing, widely used as a university course text. Best for developers going deep on NLP rather than just calling an existing language-model API.
Systems, Infrastructure, and Reliability
Site Reliability Engineering (the "SRE book," by Google) β a free, complete book describing how Google approaches running large-scale production systems reliably. Best for backend and infrastructure developers who want to think more like an SRE about uptime and incident response.
The Site Reliability Workbook β Google's free, more hands-on follow-up to the SRE book, focused on practical implementation of the earlier book's principles. Best for teams ready to apply SRE ideas rather than just read about them.
The Architecture of Open Source Applications β a free, multi-volume collection of essays where the maintainers of real open-source projects explain their own system's architecture in their own words. Best for developers who want to see how experienced engineers actually reason about large-scale design decisions.
Security
Security Engineering by Ross Anderson β a free, comprehensive PDF covering how real-world systems get attacked and defended, available on the author's own site. Best for developers who want a broad, practical grounding in security beyond a single framework's checklist.
The OWASP Testing Guide β a free, community-maintained guide to testing web applications for common vulnerabilities, published by the Open Web Application Security Project. Best for developers who want a structured way to check their own application for common security holes.
Mobile and Game Development
Android Developer Fundamentals and Android's official Kotlin documentation β Google's own free, continuously updated guides to building Android apps, covering everything from UI basics to architecture patterns. Best for developers building specifically for Android who want documentation straight from the platform maintainer.
Apple's Swift documentation and "Swift Programming Language" guide β Apple's free, official book-length guide to the Swift language itself, separate from the paid courses that exist around iOS development more broadly. Best for a grounding in Swift syntax before tackling iOS-specific frameworks.
Godot Docs (the official Godot Engine documentation) β a free, thorough, book-like manual for the open-source Godot game engine, covering both its scripting language and its editor workflow. Best for developers who want to build games without licensing a proprietary engine.
A Quick Comparison of Where to Start
| Book | Language / Topic | Best For | Reading Time |
|---|---|---|---|
| Eloquent JavaScript | JavaScript | Absolute beginners | 4-6 weeks |
| Automate the Boring Stuff | Python | Absolute beginners, practical automation | 3-5 weeks |
| The Rust Programming Language | Rust | Structured, authoritative language onboarding | 6-8 weeks |
| Crafting Interpreters | Language internals | Intermediate/advanced, curious how languages work | 6-10 weeks |
| Pro Git | Git | Anyone using Git without understanding it | 1-2 weeks |
| Deep Learning (Goodfellow et al.) | ML theory | Developers who want the math, not just an API | 3+ months |
How to Actually Use This List
Pick one book tied to the language or topic you're using right now, not the one that sounds most impressive. A book about Rust helps very little if your actual job or project is in Python this month.
Read with your editor open. Every book on this list includes runnable code examples, and typing them out yourself β rather than just reading past them β is what actually builds the muscle memory these books are trying to teach.
Don't read a reference-style book, like MDN's guides or PostgreSQL's documentation, front to back. Use the table of contents to jump straight to the section addressing your current confusion, then come back to other sections as new questions come up in your own project work.
Finish one book before starting a second in the same topic area. Reading the first three chapters of five different Python books teaches less than finishing one, because most of a book's value compounds in its later chapters once earlier concepts are assumed and built on.
A useful trick for staying honest about progress: keep a single running note of which chapter you're on and one sentence about what you actually built or ran from that chapter. If the note hasn't moved in two weeks, the book isn't the bottleneck β your reading habit is, and it's worth naming that directly rather than blaming the material.
Avoid the temptation to switch books the moment one chapter feels hard. A dense chapter on closures in You Don't Know JS Yet or on monads in Learn You a Haskell is often exactly the chapter doing the most work; re-reading it once, typing the examples, and moving on beats abandoning the book at its hardest point.
Match the book to the stage you're actually at, not the stage you wish you were at. Crafting Interpreters and Deep Learning are excellent, but they assume comfort with a general-purpose language and, in the second case, a working grasp of linear algebra. Reading either cold, with no prior programming or math background, produces frustration that has nothing to do with the book's quality.
The Five Mistakes
1. Collecting PDFs instead of reading them. A folder full of downloaded free books is not progress. Pick one, finish it, and only then look for the next.
2. Reading without typing the code. Passively reading a code example teaches far less than typing it out, running it, and deliberately breaking it to see what happens. Every book on this list assumes you'll do this.
3. Starting with the most advanced book you can find. Crafting Interpreters and SICP are excellent, but they assume real programming experience. Start with a beginner-focused book like Automate the Boring Stuff or Eloquent JavaScript if you're new, and work up to the denser texts.
4. Ignoring free official documentation in favour of third-party books. For fast-moving ecosystems, official docs like MDN, the Rust book, and PostgreSQL's manual are often more current than an older third-party book on the same topic.
5. Never applying what the book teaches to a real project. A book read but never applied fades fast. Pick a small project that forces you to use the specific concept the book just taught, ideally within the same week you read it.
6. Treating a free book as lower quality than a paid one. Several of the strongest technical books available anywhere β the Rust book, Pro Git, the SRE book, Deep Learning β are free specifically because their authors or organizations chose to publish them openly, not because they're a lesser tier of writing. Price is not a reliable signal of quality in this specific corner of publishing.
Where to Go Next
If a category above matches something you're actively working on this month, start there rather than reading this article end to end. A book is only useful once it's open on your screen next to your editor, not while it's still a bookmark in a list like this one.
For a broader view of free resources beyond books specifically β courses, practice sites, and repositories worth studying β the companion articles linked below cover each of those categories in the same depth this one gives to books.
π Read next: 50 websites to learn coding for free, or return to the full complete collection of free developer resources.
Advertisement
π¬ DiscussionPowered by GitHub Discussions
Frequently Asked Questions

AI & Software Engineering Editorial Team
The AiTechWorlds editorial team writes and reviews in-depth guides on artificial intelligence, machine learning, prompt engineering, programming, and developer tools. Every article is fact-checked against primary sources and kept up to date for working developers and CS students.
Not sure yet? Ask AI about this article
Get an instant, unbiased AI summary of β100 Free Programming Books Every Developer Needsβ.
Advertisement
Related Articles
The Complete Collection of Free Developer Resources
A categorised master index of free developer resources β books, courses, practice sites, GitHub repos, tools, datasets, hosting, and more for 2026.
Best Free AI Courses for Beginners
The best free AI courses for beginners, sequenced from no-math intros to hands-on machine learning, with what each one actually teaches.
Free APIs to Build Real Portfolio Projects With
Free APIs for projects, grouped by whether they need a key β JSONPlaceholder, OpenWeatherMap, PokeAPI, REST Countries, NewsAPI and TMDB, with rate limits.
Best Free Coding Courses With Certificates
Real free coding courses that issue certificates at no cost, from freeCodeCamp to CS50 to Google Career Certificates β verified for 2026.