 <p>According to node-webkit's wiki, you can <a href="https://github.com/nwjs/nw.js/wiki/file-dialogs#how-to-open-a-file-dialog" rel="nofollow">open a dialog programmatically</a> by simulating a click on a <a href="https://github.com/nwjs/nw.js/wiki/file-dialogs#save-file" rel="nofollow">specially configured html input field</a>.</p> <p>So for example you would insert</p> <pre class="lang-html prettyprint-override"><code>&lt;input type="file" id="fileDialog" nwsaveas /&gt; &lt;!-- or specify a default filename: --&gt; &lt;input type="file" id="fileDialog" nwsaveas="myfile.txt" /&gt; </code></pre> <p>and use something like this to optionally programmatically trigger the dialog and get the entered path:</p> <pre class="lang-javascript prettyprint-override"><code>function chooseFile(name) { var chooser = document.querySelector(name); chooser.addEventListener("change", function(evt) { console.log(this.value); }, false); chooser.click(); } chooseFile('#fileDialog'); </code></pre>