Draw.io is a free Flowchart and diagram creation software for Windows, Linux, macOS and your browser

Flowcharts are incredibly useful diagrams to explain process flows. Remember the phishing flow chart that Martin created in 2011? Or the flowchart about flowcharts?
If you took a computer science class in school or college, you may know how to make one. Even if you don't, it's not difficult to learn how to create flowcharts.
But how do you make them using a computer? Microsoft Office or Libre Office can be used to create flowcharts. But an application like Draw.io that specializes in drawing diagrams can be a better option. I tested the offline version of draw.io, (and only tested it with flowcharts).
You need to visit the website and select Help > Download draw.io Desktop to download the offline application. It is available for Windows, Mac and Linux systems.  You may also use the online version as it offers similar functionality and may be better if you just want to create a quick chart.
Draw.io flowcharts

Draw.io has a clean interface with a menu bar on the top, a symbol toolbar on the left, a canvas on the right and a format panel on the right. To get started click on the “Flowcharts” option on the left to access the shapes that you need. Use the search bar to find a specific shape quickly.
Adding a symbol in Draw.io is as easy as clicking on it. You can resize the shapes by dragging on the circles that appear, when a shape is selected. To move it, either use the mouse or the arrow keys.
Speaking of arrows, you can add a directional flow arrow in 2 ways, either by selecting an arrow icon from the toolbar, or by deselecting a shape hovering over it and dragging the arrow icon which appears. The latter is the more refined option of the two. You can pull the connecting arrow to a different direction and angle and even create a directional flow which is bent by 90°. To connect two shapes select them both and use shift + click; it saves you a lot of time.
Tip: Use Control + mouse wheel to zoom in and out.
Mouse over a shape to clone it and connect it with the new one so you don't have to redraw it. You can customize the layout of the page, enable an outline, use layers and a lot more.
The grid is enabled by default but you can disable it if you want to. Personally, I prefer the grid lines because they ensure the symbols are lined correctly and of the same size. I’m no expert but the program felt very user-friendly to me. You can check out the documentation for more tips and tricks.
Cross-platform availability and web-app (no registration required)
Draw.io is a cross-platform application which is available as an offline client for Windows, Linux, macOS, ChromeOS, as an add-on for Google Docs, Google Slides, as a stand-alone web-app, or integrates directly with your Dropbox, GitHubm GitLab Google Drive, OneDrive, Office 365 account.
You can use Draw.io to export the flowcharts in several formats including PNG, JPEG, SVG, PDF, VSDX, HTML, XML. You can even use the URL option to create a shareable link that you can send to your friends/colleagues. You don't need to register for an account or login to any service for this (or for using the web-app). You can optionally allow other users to edit the created flowchart.
Did I mention that Draw.io is open ?
Here is a (sample shareable URL) basic flowchart which I made using Draw.io which you can view in your browser. Yes, I know it’s terrible, like I said I'm no expert.  But hey, my point is if you want a free flowchart software, Draw.io is a great option.
Besides, flowcharts aren't exclusively used by programmers. Many businesses use them in meetings to explain a process flow. You can even use them to help with personal goals, even non-ending (recurring) ones. So use them as you want to. Dia and yEd (requires Java) can be good alternatives for Draw.io. And if you need something to represent ideas of concepts, you may want to check out mindmapping programs like Freeplane instead.