I would also recommend xml-Sitemaps.com. Their free service as well as their paid script "Unlimited Sitemap Generator" is very nice.
If you are using Wordpress, you can use a Plugin Google XML Sitemaps. It will generate the sitemap automatically. I also suggest to submit your sitemap to Google via the Google Webmaster Tools.
There is a free site map generator <http://www.freesitemapgenerator.com> Code (markup): Wish that can help you!^_^
If you encounter problems with the other sitemappers recommended, you can also try A1 Sitemap Generator. It's free to use and fully functional for 30 days.
For more then 500 urls www.web-site-map.com works the best for me and it's free. Of course it'll work well for small websites as well
Well if you need to generate up to 20000 links try the one I made. It's free. It has many configurable parameters like exclusion and inclusion fields and it will tell you the reason why some link are not being included for each link. Give me feedback!
I use Google sitemap generator for my wordpress blog. It help me to increase indexed pages in google search engine.