1. Draw.io [1] for general charts. Someone has already mentioned it. It's open source software. Draw.io supports flow charts and other diagram types. One thing that I love about Draw.io is compatibility. You can import and export the XML file that contains your diagram. So, I don't need to worry what platform I use. The final diagrams can be exported to SVG and images too.
2. UMLet [2] or StarUML [3] for UML diagrams. I have no experience with UMLet. I recommend this because it's open source UML tool and actively developed (they need contributors [4]). I know open source UML tools are not as good as paid tools, like Visual Paradigm and Enterprise Architect. Alternatively, you can use StarUML (not open source). It's free although you have to buy a license for continued use.
[1]: https://www.draw.io
[2]: http://www.umlet.com
[3]: http://staruml.io