     # Bounding box
     [minx, miny, width, height] = @_getBoundingBox(pattern)
 
+    fs.writeSync fd, """
+        #{svg_head}
+             width="#{width}mm"
+             height="#{height}mm"
+             viewBox="0 0 #{width} #{height}">
+
+    """
+    fs.writeSync fd, pcbsvg_style
+
     # Pattern start
     fs.writeSync fd, """
-    <g transform="translate(10, 10) scale(100, 100) translate(#{width/2}, #{height/2})">
+    <g transform="translate(#{width/2}, #{height/2})">
 
     """
 

      log.start "SVG footprint '#{patternName}.svg'"
      mkdirp.sync "#{@dir}/#{@name}"
      fd = fs.openSync "#{@dir}/#{@name}/#{patternName}.svg", 'w'
      fs.writeSync fd, svg_head
      fs.writeSync fd, pcbsvg_style
      @_generatePattern fd, pattern
      fs.writeSync fd, svg_tail
      fs.closeSync fd

svg_head = """
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     xmlns:s="https://github.com/nturley/netlistsvg"
"""

svg_tail = """
