README.md

June 7, 2026 · View on GitHub


TinyWall

A free, lightweight and non-intrusive firewall
Website » | Download »

About

TinyWall is a free, lightweight, and non-intrusive, secure by default firewall for Windows. Built to just simply sit in your system tray, quietly blocking any application you did not explicitly allow network access. TinyWall installs no kernel drivers, so it cannot negatively influence system stability. It also repects your privacy and collects absolutely no data about the user or their computer.

This repository houses the source code of TinyWall as found at its official website.

How to build

Necessary tools

To build the application

  1. Open the solution file in Visual Studio and compile the TinyWall project. The other projects referenced inside the solution need not be built separately as they will be statically compiled into the application.
  2. Done.

To update/build build the database of known applications

  1. Adjust the individual JSON files in the TinyWall\Database folder.
  2. Start the application with the /develtool flag.
  3. Use the Database creator tab to create one combined database file in JSON format. The output file will be called profiles.json.
  4. To use the new database in debug builds, copy the output file to the TinyWall\bin\Debug folder.
  5. Done.

To build the installer

  1. Copy the compiled application files and all dependencies into the MsiSetup\Sources\ProgramFiles\TinyWall folder.
  2. Update the files as necessary inside the MsiSetup\Sources\CommonAppData\TinyWall folder. See instructions above about creating the database.
  3. Open the solution file in Visual Studio and compile the MsiSetup project.
  4. Done.

Contributing

Feel free to open issues, feature- or pull-requests. I kindly ask for patience though, as TinyWall is in maintenance mode and my responses are often delayed. Nevertheless all issues and requests are looked at.

New features are more likely to get implemented if you provide the necessary code changes yourself. The process for that is the same as for most other projects here on GitHub, in short:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request on GitHub

For complex features or large changes, please contact me first if your changes are still within the vision of TinyWall staying small, efficient and simple.

If your goal with forking is not code contribution but to build and distribute your own binaries, please choose a name dissimilar to "TinyWall" to avoid confusing users.

License

Contents inMaintainerOriginLicense
Microsoft.Samples\TaskDialog\KevinGrelink (archive.org)Public Domain
Microsoft.Samples\Privilege.csMark Novaklinksee Privilege.cs.LICENSE
DarkModeCS.csBlueMysticlinkMIT
Everything elseKároly Padosthis repoGPLv3

Contact

Károly Pados - find e-mail at the bottom of the project website

Website: https://tinywall.pados.hu

GitHub: https://github.com/pylorak/tinywall