To add to this, the biggest mistake I think a lot of people make when learning to code is that they get stuck in "tutorial hell". This is when you basically try to focus entirely on reading, watching videos, and understanding concepts at their deepest level, and you never get around to actually doing much coding.
I'd say really any sort of "learn programming for free" course or 1hr+ video online is fine. There are a bazillion of them. You only really need to learn the basic concepts like variables, loops, conditionals, functions, and classes from the "tutorial phase".
As soon as you have a general idea of the foundational concepts in coding, the best thing to do is think of something you actually want to make with coding. Ask yourself "if I already had all the coding skills I wanted, what would I want to make?" Take your answer to that, do a bit of quick Googling to see what language/library is the best for it, and literally just start making it.
Basically I think that the most important thing to keep in mind- which I failed to understand for a long time- is that learning is not something you do before you start coding. You're not supposed to "learn to program a website, then program a website". The learning should be concurrent with, and motivated by, the process of actually completing the project. Start with your goal, and reverse engineer what you have to learn to complete it- don't start with an arbitrary set of things to learn and then figure out what you should do with them.
Best of luck!