Massive List of Free Resources for Learning to Code
This page collects free, high-quality resources you can use right now to learn web development, mobile, backend, data skills, and fundamental computer science. Use this as a living reference. Pick a handful of resources and stick with them rather than trying everything at once.
Online Courses and Interactive Curricula
Interactive course platforms give structure and exercises. Pick one comprehensive curriculum and one shorter tutorial series for rotation.
Various languages and topics
- Codecademy - Free interactive lessons for many languages (free tier available).
- Khan Academy - Beginner friendly programming tutorials and computer science basics.
- edX and Coursera - Audit many university-level courses for free.
- MIT OpenCourseWare - Free recordings and materials for core CS courses.
HTML and CSS
- MDN Web Docs - Comprehensive documentation and learning guides for HTML and CSS.
- HTML Dog - Practical beginner tutorials for HTML and CSS essentials.
- Flexbox Froggy - Interactive game to learn CSS Flexbox.
- Grid Garden - Interactive game for CSS Grid.
JavaScript
- Eloquent JavaScript - A free online book with interactive examples.
- JavaScript.info - Deep and practical explanations for modern JavaScript.
- Frontend Mentor - Practice real-world front end challenges.
- MDN JavaScript Guide - Canonical JavaScript reference and guides.
Full-Stack
- freeCodeCamp Full Stack - Projects and backend challenges in Node.js and Express.
- Full Stack Open - Modern React and Node.js curriculum from University of Helsinki.
- MDN Full-Stack Guide - Practical modules to build a full-stack app.
- The Odin Project Full Stack Path - Project-based learning covering Git, HTML, CSS, JS, and more.
Python
- Automate the Boring Stuff - Free online book teaching practical Python automation.
- Python.org tutorials - Official beginner tutorials and reference docs.
- Real Python - Free tutorials and Python guides.
- Google's Python Class - Free class with exercises.
SQL
- SQLZoo - Interactive SQL tutorial.
- Mode SQL Tutorial - Practical SQL tutorials for data analysis.
- Khan Academy SQL - Beginner-friendly SQL lessons.
- LeetCode Database Problems - Practice SQL exercises.
Command Line / CLI
- LinuxCommand.org - Beginner-friendly guide to the command line.
- Learn Enough Command Line - Practical CLI basics.
- OverTheWire - Bandit - Hands-on wargames to learn shell basics.
- Codecademy Command Line - Interactive beginner lessons.
Git and Collaboration
Learn the basics of version control early. Use Git locally and push to a public repository on GitHub to create a live portfolio and learn real workflows.
- Pro Git (book) - The free online Pro Git book is a complete reference for Git usage.
- Try Git - Interactive short tutorial to learn the basic Git commands in a browser.
- Atlassian Git Tutorials - Clear guides on branching, merging and workflows.
Host projects and simple static sites for free with GitHub Pages and use Git workflows to practice branching and pull requests on pages.github.com
Books (Free and High Quality)
Many respected programming books are available online for free or have free companion material. Read select chapters and practice what you read.
- Eloquent JavaScript - Modern JavaScript book with exercises. Free online.
- You Don't Know JS Yet - Deep dives into JavaScript primitives (available free online on GitHub).
- Automate the Boring Stuff - Practical Python book with free online text.
- CS50 Lecture Notes and Materials - Harvard's materials for CS50 are freely available and include problem sets.
- Think Python - Free textbook for learning Python fundamentals.
- Free Programming Books (awesome) - Curated GitHub list with many free books on different topics.
Practicing Skills and Problem Solving
Use practice sites to build problem solving skills, algorithms and real small apps.
- LeetCode - Many free algorithm problems useful for interviews and core CS practice.
- HackerRank - Programming exercises across algorithms, databases, and domains.
- Exercism - Mentored exercises in many languages with community feedback.
- Codewars - Kata style practice problems with community solutions.
- Frontend Mentor - Real world UI challenges to build portfolio pieces.
- Project Euler - Math and algorithmic challenges.
Cheatsheets and Quick References
- MDN Cheats - Quick references and guides for HTML, CSS and JavaScript.
- DevHints - Compact cheat sheets for many languages and tools.
- OverAPI - Aggregated cheat sheets across languages.
- Git Cheat Sheet - Official quick reference.
Free Text Editors and IDE Options
Simple editors are fine to start. Use a modern editor with syntax highlighting and a terminal integration. Below are widely used free options.
- Visual Studio Code - Free, extensible, and the most popular option for beginners and professionals.
- Vim / Neovim - Lightweight and powerful once learned; great for terminal-based workflows.
- Sublime Text - Fast editor with free evaluation (paid license optional).
- Notepad++ - Lightweight Windows editor.
Integrated Development Environments (IDEs)
For languages like Java or Python, an IDE bundles project management, debugging, and intelligent code assistance.
- IntelliJ IDEA Community Edition - Free IDE for Java, Kotlin and JVM languages.
- PyCharm Community Edition - Free IDE for Python basics.
- Android Studio - Official Android native development IDE.
- Eclipse - Classic open-source IDE.
- NetBeans - Apache NetBeans for Java and other languages.
Browser Based IDEs
Browser IDEs let you code, run and share projects without local setup. They are invaluable for beginners and workshops. Replit and others also provide free hosting and collaboration.
- Replit - Run many languages in the browser, collaborate and deploy small apps.
- CodePen - Great for HTML/CSS/JS experiments and sharing UI work.
- JSFiddle - Quick playground for front-end snippets.
- JSBin - Another quick front-end playground.
- StackBlitz - Fast online IDE for modern web stacks and Angular/React projects.
- Glitch - Friendly environment for building and remixing Node.js apps.
- CodeSandbox - Focused on web app prototypes and React stacks.
Hosting and Publishing Your Website (Free Options)
Deploying what you build is important. Host static and simple dynamic apps for free or low cost with these platforms.
- GitHub Pages - Free hosting for static sites directly from a repository. Great for portfolios and documentation.
- Netlify - Free tier for static sites with continuous deployment from Git.
- Vercel - Free hosting for front-end frameworks and static sites with easy deployment.
- Render - Free tier suitable for small services and static sites.
- Surge.sh - Simple CLI-based static hosting.
- Firebase Hosting - Free tier for small static or single page apps.
- Heroku (free tier changes) - Historically popular for small dynamic apps; check current free offering.
Other Tools and Goodies
- Postman - API testing tool with a generous free tier.
- Insomnia - Lightweight API client.
- Figma - Free tier for designing UI mockups and learning design principles.
- Google Fonts - Free web fonts for your projects.
- Can I use - Browser support reference for web APIs and CSS features.
- MDN - For authoritative references on web APIs and platform behavior.
- Chrome DevTools Docs - Learn to debug and profile in the browser.
Websites, Blogs, and News
Regular reading keeps you current. Follow a few reliable blogs and tutorial sites.
- freeCodeCamp News - Articles, tutorials and guides for learners.
- Smashing Magazine - Web design and front-end development articles.
- CSS-Tricks - Practical front end patterns and examples.
- Dev.to - Community articles across topics and beginner friendly posts.
- Hacker News - Good for industry signals and learning what matters in real projects.
Extra Resources and Learning Helpers
- YouTube Channels:
- Podcasts:
- Communities:
- Local Meetups: Search Meetup.com or local tech communities to find workshops and pair programming groups.
Additional Course Platforms and Paid/Freemium Options
The following platforms are frequently used by learners and bootcamps. Some are paid or freemium; they are included because they are frequently referenced and offer valuable content, trials or scholarships.
- Frontend Masters - High quality deep-dive courses. Paid with occasional free workshops.
- Scrimba - Interactive coding screencasts. Free and paid tracks.
- Udemy - Large course marketplace. Many free or deeply discounted courses periodically available.
- Pluralsight - Professional courses; free trials and occasional free weekends.
- LinkedIn Learning - Paid but sometimes free via libraries or employer programs.
Additional Documentation and Official Guides
- React Official Docs - The best source for learning React.
- Next.js Learn - Official learning path for Next.js.
- Tailwind CSS Docs - Excellent reference for utility-first styling.
- Node.js Docs - Server-side JavaScript docs and guides.
- Docker Get Started - Intro guide for container basics.
Editor Extensions and Productivity Tools
Once you pick an editor, these free extensions and plugins improve productivity and learning speed.
-
VS Code Extensions
- ESLint - Linting for JavaScript and many languages.
- Prettier - Code formatter.
- GitLens - Git history and blame inside VS Code.
- Live Server - Instantly preview static pages in the browser.
- Browser Extensions
Interview Prep and Real-World Practices
- interviewing.io - Anonymous mock interviews and recordings (some free resources).
- Pramp - Free peer-to-peer mock interviews for coding and system design.
- Grokking (paid) - Popular patterns for interviews; included as paid reference.
- System Design Primer - Free guide to system design concepts and practice.
Data, Machine Learning and Notebooks
- Kaggle Learn - Short hands-on lessons for Python, pandas, machine learning and competitions.
- Google Colab - Free hosted Jupyter notebooks with free GPU minutes.
- Scikit-Learn Tutorials - Practical ML fundamentals in Python.
- TensorFlow Tutorials and PyTorch Tutorials - Framework specific guides.
Security, Accessibility and Testing Resources
- OWASP Top Ten - Common web security risks and guidance.
- Deque University - Accessibility training and guides (free resources available).
- Jest - Learn unit testing with Jest for JavaScript.
- Playwright and Cypress - End-to-end testing frameworks with good docs and tutorials.