No matter your current job or career goals, having some programming skills is almost always a good thing. But the big question is how to start coding. More importantly, how to start coding without paying a ton of money for a computer science degree. Luckily, there are more resources to help you learn to code for free than you could imagine.
We’ll go over the steps you need to take to start programming as a beginner. Then we’ll offer a list of places you can learn to code for free.
How to Start Coding
Before we get into the list, let’s look at the steps to get started. Once you’ve answered these questions, you’ll be ready to start your coding journey.
1. Why Do You Want to Start Coding?
It’s crucial to determine why you want to code. If you don’t have clear goals, you’re much less likely to stick with it. Your answer to this question will help you decide which resources are right for you.

- Career Karma matches you with top tech bootcamps
- Get exclusive scholarships and prep courses
Do you have a goal of becoming a software engineer or mobile app developer full-time? Are you just interested in picking up the basics to design and code your own websites? Or do you want to dig deeper into the theory of computer science? Or are you looking to develop data science skills to give your professional skill set a boost?
There are tons of reasons you might want to develop programming skills. And most online coding courses and materials are geared towards one of those use cases. That’s why it’s important to decide up front what you hope to get out of each of the resources.
2. What’s Your Current Knowledge Level? Have You Already Mastered the Basics?
The next question you need to ask yourself has to do with your experience and existing programming skills. If you’re interested in web development, do you already know the basics of HTML5, CSS3, and JavaScript? If so, some free coding courses might be too easy for you. That said, there are lots of free courses that will teach you at the intermediate or advanced level.
Do some research into the resources you’re interested in before you dive in. Make sure the course or app you choose offers the level of difficulty for where you’re at and where you want to be.
3. How Much Time and Effort Can You Devote to Studying?
This is a big one. Before you start your path to study coding, determine how much time you can commit. Learning to code isn’t something you can do passively. It takes concentration and lots of practice. In fact, to really master the craft, plan on committing around 3-5 hours per week, at minimum.
4. Which Is the Right Programming Language to Start With?
The number of programming languages is staggering. And with so many types of coding languages, it can seem nearly impossible to figure out which language you should tackle first.
Where Can You Learn to Code for Free?
Now, let’s dive into the full list of apps, courses, and websites to learn to code for free in 2020.
Free Coding Bootcamps
Coding bootcamps have become effective ways to gain coding skills and start a tech career. The only downside is that they can be quite expensive.
The good news is there are plenty of excellent free coding bootcamps where you can get a similar education without paying a penny. Here are just a few of the more popular options.
App Academy Open

The popular coding bootcamp App Academy offers their entire full stack development curriculum for $0 in their online learning platform App Academy Open.
GA Dash

One of the most renowned coding boot camp institutions, General Assembly provides their own no-cost project-based bootcamp known as GA Dash. It’s a great introductory course for students just starting out and as a coding bootcamp prep course for General Assembly or another program.
Kenzie Free

Another highly respected bootcamp, Kenzie Academy offers a self-paced online program: Kenzie Free. The no-cost coding program is an introduction to the basics if HTML, CSS, and JavaScript.
Sabio Prework

Sabio now offers a front end web development PreWork course. The web-based learning content includes video instruction, quizzes, access to their Slack team, and live office hours with instructors. Sabio’s PreWork course focuses on the fundamentals of front end development. That includes HTML, CSS, JavaScript, and even Bootstrap.
Skillcrush Free Coding Camp

The coding boot camp from Skillcrush is a great place to start for complete beginners. You’ll get an introduction to HTML, CSS, and JavaScript. Further, you’ll study the basics of web design, user experience, and WordPress. You also receive a discount on one of their paid courses to take your studies to the next level.
Coding Challenges
By now, you already know how important it is to get lots of practice when learning to code. And one of the best ways to get that practice is with coding challenges.
You can find tons of great coding challenges for JavaScript, Python, Java, and any other popular programming language online. Here are a few of our favorite places for free coding challenges.
CodeSignal

CodeSignal is a learning platform for practicing and testing coding skills. It has an integrated console, and you can code in a variety of languages. The dashboard allows you to see your streaks and earn badges. Some companies are using it to give out technical challenges. So you might get a link to complete a coding challenge through CodeSignal when applying to a job.
Edabit

Edabit offers an interactive and game-like experience to study code for free. They offer tutorials and challenges on many popular programming languages.
Exercism.io

Exercism.io is a learning platform that offers several tracks to get you started. You get feedback on submissions and a bunch of languages to practice. As you progress, you can become a mentor and help out the community.
HackerRank

HackerRank is a great resource if you would like upskill with coding challenges. Every problem has its own IDE with tests. There is a game component to it, as well. You earn hackos when you solve problems that can be used to help you solve problems later!
Free Coding Apps
With the impressive number of programming apps available, you can practice your programming skills no matter where you are. Below, you’ll find some of the best no-cost coding apps for beginners.
Repl.it

Repl.it is a collaborative, browser-based development environment. Using Repl.it, you can run code in dozens of languages, from HTML to Java, right from your browser. You can share the code you write in Repl.it so you can easily collaborate with friends and other developers on a project.
Grasshopper

When it comes to no-cost apps to learn to code in JavaScript, our favorite is Google’s Grasshopper app. Grasshopper will teach you the basics of JavaScript code. If you’re interested in learning JavaScript and want to learn to code for no charge, Grasshopper is a great place to start.

Knowin

The Knowin app is a newer education app that uses entertaining learning paths to teach JavaScript, the command line, Python, and Swift.

Py

Py is a slick app that provides tutorials in a range of subjects and languages. With the Py app, you can learn Python, SQL, R, Swift, HTML, JavaScript, and more.

SoloLearn

The SoloLearn app is one of the best mobile apps for learning content in programming, data science, and web development. The text-based interface provides code samples to help you learn before letting you try things out on your own.

Most of the content on SoloLearn is no-charge. But you can opt to buy a subscription through the app store for an ad-free experience and premium materials.
Free Coding Courses and Tutorials Online
When you’re just starting out, it’s a good idea to find a complete course that will cover your bases. These are the kinds of resources you will have to really devote time and effort to. Take a look at this list of free coding classes and tutorials that you can take online.
After Hours Programming
With After Hours Programming, you can learn and practice web development with their freebie tutorials. They have some PHP lessons that are popular.
Bento.io
Bento is an excellent option for anyone who has ever felt overwhelmed with all the resources available online. Along with a point system, the site essentially compiles the best the web has to offer for development students into “tracks.” Each track is like a syllabus for each part of your development training.
BitDegree
BitDegree is a massive repository of courses on everything from software engineering to WordPress development. While they offer paid courses, many of their excellent training programs are available at no charge.
Career Karma

That’s right! One of the best places on the web to dig into programming is right here on Career Karma. We have hundreds of detailed tutorials on HTML, CSS, JavaScript, Ruby, Git, C++, Python, and more. Each tutorial is complete with code samples so you can be sure you’ve got the material locked in.
Code Avengers
The online learning platform Code Avengers offers a free trial for students of web development. Courses include an interactive learning environment, code playground, videos, and text-based instruction.
Codeasy.net
Codeasy is a clever site that uses a story format to teach you the basics of C++.
Codecademy
Codecademy is easily one of the most well-known names in coding education, and for good reason. You’ll have to pay for their unlimited “Pro” subscription, but their no-cost “Basic” plan is more than enough to get you started.

With Codecademy, you can study just about any coding topic you can think of. Pick up skills in web development or Android and iOS development. Or discover their full range of programming languages, including Java, Ruby, C++, R, PHP, Go, Swift, and Kotlin. They even have plenty of options for data science, machine learning, and data analysis.
Code Conquest
Code Conquest is a great resource for finding useful tutorials, training, web development tools, and lots of other stuff. They also provide advice and recommendations for apps and programming project ideas.
Code with Chris
While Code with Chris does offer paid learning content, they offer a completely no-charge iOS app development course, as well. If you want to learn Swift to program iPhone and iPad applications, this is an excellent place to start. He’ll even send you a printed certificate of completion.
Coursera

The Coursera online learning platform is one of the most popular and user-friendly ways to learn a variety of skills and topics. And programming is no exception. Coursera offers outstanding free (audit) training courses taught by software engineers at some of the most prestigious institutions in the world.
edX

Like Coursera, edX is an online learning platform that offers courses in a variety of disciplines, taught by professors at top universities like Stanford. While you can purchase the courses and earn a certification, most are available for free under the computer science category. A great place to start is Stanford’s Computer Science 101.
freeCodeCamp

Perhaps the most popular no-charge programming and web development courses are the ones offered by the appropriately named freeCodeCamp. This online learning platform provides no-cost, ad-free coding courses in the following fields:
- Responsive web design
- HTML5
- JavaScript
- Front end libraries
- Data visualization
- APIs and microservices
- Quality assurance
- Python
- Information security
What’s more, you even get a certification of completion at the end of each course. These certificates are great for displaying on your LinkedIn page or including in a technical resume.
Hitchhiker’s Guide to Python
Whether you are a novice or experienced developer, you’ll find a breadth of knowledge to draw from in The Hitchhiker’s Guide to Python. The handbook offers installation, configuration, and best practices modules. It also gives multiple Python use cases in areas like web, command line, databases and scientific applications.
HTML.com
Get your feet wet with HTML with the tutorials, references and other resources available at HTML.com. This site has tons of great material to learn to code at no charge to you. Be sure to check out their excellent HTML cheat sheet.
HTML Dog
The appeal of HTML Dog is in its “bare-bones” presentation. The site offers tutorials, references, and code examples to help the beginning developer. HTML Dog also has a section on techniques for implementing HTML, CSS, and JavaScript together.
jQuery.com
jQuery.com is the official resource of the popular JavaScript library. Learn everything about jQuery including API documentation, plugins and browser support.
Khan Academy

Possibly the most popular online learning platform around, Khan Academy doesn’t just offer courses in academic subjects. They also provide free courses in computer science and computer programming. Khan Academy’s courses include both video and text-based learning methods.
Learn-JS.org
Learn-JS.org offers an interactive tutorial for those getting started with JavaScript. It offers hundreds of exercises from beginner to more advanced concepts.
LearnRubyOnline.org
As an interactive platform for those beginning with the language, LearnRubyOnline.org teaches basic concepts all the way to more complex ones.
A List Apart
A well-established blog, A List Apart is focused on web standards and best practices. With over 20 years worth of content, it is also a good resource for UX ideas and conversations on latest trends.
Machine Learning Mastery
Machine Learning Mastery is a blog and community with over 1,000 tutorials and e-books. For those that are starting out, it offers tutorials and step-by-step guides on commonly used algorithms in machine learning.
Mammoth Interactive
Mammoth Interactive is an online educational platform with a wide variety of web development, machine learning, data science, and business courses. Some of their courses are cross-offered in other platforms such as Udemy. You can buy courses individually or subscribe to get access to all courses for a monthly fee.
Mozilla Developer Network (MDN) JavaScript
The MDN for JavaScript is a well-established documentation portal created by Mozilla. It’s a go-to resource for all things JavaScript.
MIT Open Courseware

The MIT Open Courseware website is basically a catalog of materials from hundreds of past MIT classes. Head on over and start learning from some of the best software engineers in the world–at no charge to you.
The Odin Project

The Odin Project is a remarkable open source coding curriculum available online to anyone who wants to learn to code for free. There are currently three “tracks” you can pursue at The Odin Project. They are Full Stack Ruby on Rails, Full Stack JavaScript, and Front End Only (HTML, CSS, and JS with no Ruby or Rails). The learning content at The Odin Project also includes tutorials on the basics of Git version control and various developer tools.
Python Foundation
The official website of the Python Foundation keeps you up-to-date on the latest developments in Python. Access the official documentation on latest software updates and features.
React Armory
React Armory is an educational website focusing on React content. It lets you use a web IDE to code in React from your browser. For those starting up, it takes away some setup nuances and gets coding React fast.
RailsGuides
If you want to build applications with Ruby on Rails, your first stop should be Rails Guides. Here, you’ll find tons of thorough tutorials, complete with detailed code samples, to get you through every step of the development process.
Ruby in 20 Minutes
Interested in getting started with Ruby programming? If so, look no further than the official Ruby website, which offers a short, 20-minute introduction to the Ruby language.
Ruby Koans
Ruby Koans offers edge case Ruby challenges to learn the language, syntax structure, and common functions and libraries. To get started, you download the koan challenges and you make progress by passing tests.
RubyMonk
RubyMonk offers no-cost interactive tutorials from beginner to advanced. In each of the lessons there are inline IDEs so you can test and practice writing Ruby code.
Scotch.io

If you’re interested in cutting-edge web development technology, check out Scotch. Their website is full of top-notch courses and tutorials on topics like JavaScript, React, and Vue.
Scrimba
Scrimba offers a wide variety of courses on web development and different frameworks. Some of their courses are no-charge; others you need to pay for. Their UI is clean, and you can code as you watch the tutorials.
Thinkster
Thinkster offers no-cost courses, and you can upgrade to premium classes, as well. Their Angular fundamentals course with over 100 lessons is very popular with beginners.
Udacity

Udacity is certainly a top destination for those wanting to work on their development and software engineering skills. The slick interface and interactive learning environment make Udacity one of the best teachers you’ve ever had.

You really can learn just about everything on Udacity, no matter your skill level. Get started with web development or Android basics. Or even jump right in to some AI deep dive courses. With their interactive learning platform, the sky is the limit. And with Udacity’s nanodegrees, you get to show off your hard work to potential employers.
Udemy

In general, you can learn almost anything on Udemy. And while they do offer paid courses, there is plenty of free training to go around. You can work on everything from Android development and data science to software engineering and WordPress development. They also provide classes in topics adjacent to tech, like marketing.
VueJS.org
VueJS.org offers official docs and latest news for the popular JavaScript framework. You can check their open source repository and check out their getting started tutorials.
w3schools

Other than maybe StackExchange, w3schools might just be the most useful resource for any new (or experienced) web developer. W3Schools is a comprehensive reference for web dev. But it also offers no-cost text-based tutorials on HTML, CSS, JavaScript, Python, SQL, PHP, C++, and more. There’s a good reason w3schools is one of the most trusted websites for student developers. If you have a question about HTML, JS, or CSS, w3schools likely has the answer.
Coding YouTube Channels
One of the most popular ways to learn to code these days is to watch free coding courses and tutorials on YouTube. There are tons of great coding channels on YouTube, so you’ll have no trouble finding at least a couple sources of programming wisdom.
Other Free Coding Resources, Sites, and Blogs
Even after all that, there are still a number of excellent resources that just didn’t quite fit into the other categories. This list is a grab-bag that includes blogs, reference sites, e-books, and other useful places on the web to help you start programming.
A Byte of Python
A Byte of Python is a free e-book. It’s great for those starting to learn Python 3. Their simple English is beginner friendly for K-12 to higher education audiences.
Conquering the Command Line
Learn all the most useful Linux/Unix commands with Conquering the Command Line. The e-book is robust, easy to read, and costs nothing to access online.
CSS-Tricks
CSS-Tricks is your one-stop-shop for anything related to Cascading Style Sheets. You’ll find tutorials, examples, advice, and other tips and tricks throughout the site.
Eloquent JavaScript
Eloquent JavaScript is an online resource for learning how to program using JavaScript. Learn all the ins and outs of the language with exercises built straight into the book. A really great academic resource on JavaScript.
Git Immersion
Git Immersion is an interactive online tutorial on all the fundamentals of Git. Clean UI and easy to follow practical exercises, it’s a Git primer for beginners.
Hackr.io

Hackr.io is a database where you can search for tutorials and courses. You can filter courses by cost, community up votes, and format.
Learn Enough Command Line to Be Dangerous
Learn Enough Command Line to Be Dangerous is a well-known resource to master the command line to navigate Unix-based systems. It’s available for free, and you can upgrade to access additional features.
Marksheet
Learn to code for $0 with the HTML and CSS tutorials at Marksheet.io. It provides a clean and modern UI and is a great resource for beginners and those that want to learn the basics.
Try Git
If you really want to become a professional developer, you’ll have to master version control with Git. Luckily, there is a great list of Git resources available for free on GitHub.
UXPin
UXPin offers a great wireframing tool for UX development. You can make wireframes, and changes can be viewed by other team members.
About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.