Toggle navigation

Export Your Mockups from the Command Line!

Hi there, I just added a new feature to Balsamiq Mockups for Desktop, which I hope will help you integrate it in your workflow even more.

In short, you can export your UI mockups from the command line.

Here's the syntax:

Balsamiq Mockups export <inputXMLFilePath> <outputImageFilePath>

exports the provided xml file to a PNG file

Balsamiq Mockups register <organizationName> <serialKey>

registers this Mockups copy with the provided serial key info

Balsamiq Mockups unregister

un-registers Mockups from this computer

You only need to register your copy once per machine, then you can export PNGs from your Mockups' XML files whenever you need to.

The export process is near-instantaneous, and you should only see a quick "flashing" of the app.

Will you use this feature? What for? Email me and we'll write a nice case-study blog post about it!

Many thanks for Steve Moyer for the idea, the support and the feedback during the implementation. He is building a plugin for the Maven build system which will allow the automatic generation of Mockup PNGs during the "site" phase. These PNGs can be referenced from other project documentation, or the Mockups can be viewed from an automatically generated gallery of thumbnails. Stay tuned for updates!

The new feature is already live in today's Mockups for Desktop build. Go get it!

On a personal note, I loved building this feature because it took me back to my mostly-linux days of college...I love the Unix phylosophy of "many small, specific, well-written and flexible tools working together to achieve great things"...turning Mockups into a tool that fits in that ecosystem makes my inner geek very happy. 🙂


P.S.Today's build also fixes a few other issues: DataGrid headers are now properly gray, I added a Close All function, the editor shows up properly in large mockups, and finally the location of the last opened or saved mockup is remembered properly now.

Peldi for the Balsamiq Team

Leave a Comment

Comments (9)

  1. Although I have been a fan of Balsamiq, I’m moving to Sketch for my next project because it has a CLI for build management

    Dick Hardt
    • We totally understand, Dick. Let us know if we can help you in the future!

      Kendra Kirk
  2. Could you do the same for the projects that you can export directly into PDF from the command line?

    Marco Hahn
    • Hi Marco,

      We decided to no longer support this feature since the release of Version 3 for various reasons but I’ve added your vote for bringing it back to the tool.

      Thanks for sharing your need with us! 🙂

  3. Had a follow-up thought on this topic this morning. You know how, when exporting a PNG, Mockups appends a numeric “_n” to the filename to avoid overwrites? For this new batch mode to work the way most people would want, it needs an “/overwite” command line option to blitz existing PNGs. Should probably default to numeric increments for the sake of safety, but support overwrites for full-tilt production mode.

    Michael Matti
  4. Hey Michael, exporting from the command line always overwrites, you have to specify the full path of the PNG, and if it’s there it gets ovewritten. In other words, the automatic naming code doesn’t kick in when you export from the command line.

    Peldi Guilizzoni
  5. Three cheers for this feature as batch image generation was, without a doubt, my biggest gripe with the product. It is pretty trivial to write a script to handle the batching, so I’d much rather have at least this much and make sure that the other highest-priority things get worked on.

  6. That command line option is a pleasant surprise, and I can see some really cool possibilities. But its value would be greater if it supported wildcards for batch export of multiple files or complete directory contents. Right now, based on my first couple of tries, it seems only to support fully-specified-down-to-filename values for inputXMLFilePath and outputImageFilePath. Granted, I could write a FOR-loop batch file to get the wildcard/directory support, but it would be better if the app itself could parse appropriately from the command line.

    Michael Matti
  7. Good idea Mike, I’ll add it to the list. In case you haven’t noticed, I am a big fan of “release at 80% and let users shape the last 20%”. This feature is no exception. 😉

    Peldi Guilizzoni