Lazy Sitemap Generator

Stephen Turbek’s 2006 article entitled “The Lazy IA’s Guide to Making Sitemaps” and Michael Angeles’ “Automating Diagrams with Visio” inspired me to adopt the strategy of first developing a website’s navigation and information architecture in Microsoft Excel and then use Microsoft Visio to provide the automatic formatting.

I love Visio and often find myself spending too much time twiddling with the look and flow of the sitemap during development instead of remaining focused on the logic, content, and organization. Turbek and Angeles’ approach to using two tools to separate the processes of organizing a website’s navigational scheme from the diagramming phase made a lot of sense to me.

The shortcoming of Turbek’s article and his downloadable Excel examples was that they limited information architects to only two levels (two clicks) deep. Several people commented that they wanted to include three or more levels deep and a few even proposed solutions.

It wasn’t until Edward Garana‘s comment that I became inspired to develop a sitemap generator that can go beyond two levels. While my examples are only seven-levels deep, you could easily add as many columns as you want.

Introducing LazySitemapGenerator


  • Microsoft Excel 2003 or 2008 with Macros enabled
  • Microsoft Visio 2003 or 2008 with the Organization Chart Wizard Add-On
  • Download LazySitemapGenerator version 1.0

Please note that LazySiteMapGenerator uses a single Macro to do its job. You must have Macros enabled for it to work. If you want to first view the content of the Macro before opening Exel, open LazySiteMapGenerator_FindParentMacro.bas in Notepad or some other text editor.


The Microsoft Excel files included with LazySiteMapGenerator are composed of worksheets “Input” and “Output.” As you might guess, Input is where you develop your text-based information architecture. Output is where my Excel formulas and FindParent macro defines the relationships that you’ll use to import into Microsoft Visio.

Step 1: Cells “Input!J2” and “Output!D2” must be the only two cells in either “M#cr#Ch#ck” (misspelled on purpose) column to have an “x” in them (empty all gray cells in both worksheets)


Step 2: The “Input” worksheet must have no empty rows/gaps


Step 3: Click on any cell in the “Output” worksheet


Step 4: Press and hold “Ctrl-A” to run the “FindParent “macro


Step 5: Repeat “Step 4” (continue holding) until all of the values are populated in the “Output!ReportsTo” column


Step 6: Stop holding “Ctrl-A” when the Microsoft Visual Basic error pops up with “Run-time error ‘1004’,” which means you are done


Step 7: Click on “End” to clear the Run-time error 1004


Step 8: Switch back to the “Output” worksheet, click “File > Save As” and select “Text (Tab delimited)”, clicking “Ok” and “Yes” to Excel’s formatting alerts


Step 9: Close Excel, open Visio, and run the “Tools > Add-Ons > Organization Chart > Organization Chart Wizard”


Step 10: Select “Information that’s already stored in a file or database” then click “Next”


Step 11: Select “A text, Org Plus (*.txt), or Excel file” then click “Next”


Step 12: Browse to the tab-delimited file you created in “Step 8” then click “Next”


Step 13: Select “Name” for the Name field, “ReportsTo” for the Reports To field, and leave the First Name field blank, then click “Next”


Step 14: Ensure “Name” is the only value in the Displayed Fields column, then click “Next”


Step 15: Ensure the Custom Property Fields column is blank, then click “Next”


Step 16: Select “I want to specify how much of my organization to display on each page,” check the two checkboxes, and click “Next”


Step 17: Ensure Employee at Top of Page is “Home” and Additional Levels is “All Subordinates,” then click “Finish”


Step 18: [Optional] Select “Shape > Layout Shapes” to open Visio formatting options


Step 19: [Optional] Set Style to “Compact Tree,” Direction to “Right then Down,” Depth to “Shallow,” Style to “Organization Chart,” Direction to “Left to Right,” Appearance to “Curved,” check “Apply routing style to connectors,” check “Enlarge page to fit drawing,” and click “Ok”


Step 20: [Required] Bask in your cool sitemap glory



There you go. You now have a handy process for automatically generating Visio diagrams from Excel text files. Now you can focus on the intellectual endeavor of organizing information and envisioning user work flow without being distracted by Visio’s diagramming tools.

Download Lazy Sitemap Generator

Download link:


  1. This is awesome. One thing I’d add is you can change the look of the org chart if you modify the document stencil

  2. Hi,

    Visio novice, sorry if they are very basic questions, but I have 4:

    1 – Visio 2003 has a feature where it automatically goes out and creates a webmap. Why should we do this?

    2 – I followed the instructions, but my map ended up being a single box with “HOME”. I’m thinking I did something wrong.

    3 – How would you name the web site hiarchy? In other words, how can I match my apples (A primary website with a map showing a few levels of what it links to) to your oranges (Library, measurment, usage, etc.)?

    4 – And if I have to enter all of this information manually, how is this a time saver?

    Signed, Confused

  3. Dan S. Here are some brief answers to your questions.

    Visio’s “Generate Site Map” feature is used to crawl an existing website and attempt to map its information architecture. Lazy Sitemap Generator is designed to help you develop a sitemap in the planning stages of web design (before a site is built).

    You may have done something wrong. I know my tool has a lot of steps. But if you follow them accurately, Excel’s “Output” tab should like like the image in Step 5.

    I name navigation areas Nav Account, Nav Search, Nav Main, Nav Feature, Nav Audience, Nav Footer, and make them all children of Home (e.g. these descriptive navigation containers appear in column C while their Level 1 navigational elements begin in column D).

    Developing your site map in Excel lets you focus on the information architecture logic and avoid fiddling with Visio’s formatting and linking, which takes a lot of time and detracts you from staying focused on the thought process of organizing information. Once the hard work of building an outline in Excel is done, you’re just a few steps away from building a nice looking sitemap in Visio. And changing things around in Excel is much easier than breaking and recreating links in Visio.

    Sincerely, Jason Pearce.

  4. I understand now. Many Thanks

  5. Jason,

    Just wanted to say that I absolutely love this tool and thanks a ton for making it available. I have used it quite a bit on my most recent project.

    The only hiccup I ran into was that I needed to re-save the text tab delimited file in ANSI after it was originally saved through Excel. For some reason Visio could not open the text file unless I re-saved it as ANSI.

    Thanks again.

  6. this looks great for a new site, but do you know a way to import an existing website into this format? (for a content inventory)

  7. Zef,

    Visio has a tool that will build a sitemap from an existing website. You’ll find it at File > New > Web Diagram > Web Site Map.

    Another tool I’ve used in the past is Xenu’s Link Sleuth. Xenu is designed to look for broken links on an existing website, but it also builds a basic HTML sitemap as an unordered list.

    Jason Pearce

  8. Looks like a great tool! Following running the macro, I haven’t figured out how to insert new rows on the Input and have them appear on the Output tab. The Output tab appears to ignore both new rows and items that have been inserted by shifting cells down. Any tips? Perhaps I need to somehow reset the Output tab content?

  9. This is great! But, I wonder how to add a column to the Output page: I want to have URLs brought over as assignable properties to the shapes.

    Thanks for sharing this!

  10. First, let me preface by saying: I use Unix, Linux, Mac, and Windows on a daily basis.

    I am not bashing windows- I am merely making an observation that site maps should not be this difficult to make.

    There’s a tool for mac called OmniGraffle that, once you use it, you’ll realize that site map creation is trivial, and there are tools that turn even complex site maps into easy work. OmniGraffle is such a tool.

    Really, if you have access to a Mac, check it out, then demand that microsoft create similar functionality in Visio. OmniGraffle really has found the easiest way to do this stuff.

  11. This is pretty cool but I wonder how do you make it so that some flows which are common are expressed correctly? For instance, what if there are several parent pages that ultimately link to the same flow of pages, and this flow is never at the same level of hierarchy coming from the various parent pages?

  12. Wow. Thanks for this. I work on a lot of enterprise portals — mapping this stuff out by hand is difficult. This is much better.

  13. I use Visio but absolutely hate building site maps in them because I end up spending way too much time on formatting and not enough time thinking about the content. However, my clients need to see something more visual than a spreadsheet. You’ve made me a very happy girl!

  14. Beautiful! Thanks for taking this to the next level! BTW, just want to note that the instructions for Visio 2007 are slightly different, but it still works out in the end.

  15. Neat tool! I also appreciate being able to create sitemaps that go further than 2 clicks.

    But what do you do if you have on the third level, for example, a page that multiple parents connect to?

  16. Hmmm, I have a strange one – using Excel 2003 and visio 2003 – works fine apart from the the level items underneath ‘home’ get their order mixed up. weird. the test .txt works fine. i replicate the test .txt, have compared them using exampro and they are identical yet produce the level headings in the wrong order. Any ideas anyone??

  17. Hi Jason, this is a great tool, but I have been having inconsistent results. i get all the way to opening the .txt file in Visio, and the program tells me that it can’t open the file. The one time I got it to work, I had to keep the file named the same as you had it, and in the original download folder. Is it true that I have to do this? Anyother ideas why the .txt file is unopenable?

    thanks Kathleen

  18. ahhh, you need to close the file in Excel first before Visio will open it. 0_o

  19. THANK YOU SO MUCH – just had to do a website map for 300 lines, 6 columns deep! Worked great!

  20. Love your work! Really appreciate you making this available. I’m creating the IA for a new website and this will save me hours of time as we adapt and tweak. Cheers.

Comments are closed.