Skip to content

This workflow ensures that SVG assets are robust, path-based (no text elements), and free of coordinate transforms (matrices). This is the gold standard for cross-browser compatibility and smooth CSS/JS animations.

If have multiple logos in a file, export each separately to a file and then …

Section titled “If have multiple logos in a file, export each separately to a file and then …”

To ensure the logo is responsive and uses a predictable coordinate system, normalize the canvas to a 100x100 grid.

  1. Go to File > Document Properties.
  2. Set Display Units to px.
  3. Set Width and Height to 100.
  4. Ensure Scale is set to 1.00000 (1 unit = 1 pixel).
  5. Viewbox should be: X,Y: 0,0; Width, Height: 100, 100
  6. Save as base-normalized.svg, for future use.
  • The “Micro-Nudge” Rule: For containers with asymmetrical accents (like a corner dot), apply a 0.5px to 1.0px optical shift in the opposite direction of the accent. This ensures the primary mark feels centered within the visual space rather than the geometric space.
  • Use neutral colors to allow brand/theme coloring later (black for primary, grey for secondary, white for background)

Use a “Template” approach to ensure perfect spacing (kerning) between characters while keeping them as separate paths.

  1. Create Template: Type the full logo string (e.g., “SD”) as one text object. Center it horizontally and vertically on the 100x100 page.
  2. Overlay Individual Chars: Type each character (S, $, D) as separate text objects.
  3. Align to Template: Use Align and Distribute (Ctrl+Shift+A) to align each individual character’s edges or center exactly to the corresponding letter in the “SD” template.
  4. Convert to Paths: Select each individual character and go to Path > Object to Path (Ctrl+Shift+C).
  5. Clean Up: Delete the original “SD” template object once the individual paths are positioned.

IDs are required for targeting specific elements in CSS or JavaScript.

  1. Open Layers and Objects (Ctrl+Shift+L).
  2. Select an object, Ctrl-Shift-O (Object Properties), set ID
  3. Convention: Use clear, alphanumeric names (e.g., path-s, path-dollar, path-d, path-leaf). Avoid special characters like $ and no # prefix.

“Matrices” in SVG code cause jitter and positioning errors in browsers. They occur when objects are moved/scaled within layers or groups.

  1. Remove Layers: Drag all paths out of their layers/groups to the root level of the Objects panel. Delete the empty layer folders.
    • or in Layers and Objects, select Layer X, press Ctrl-U (to ungroup)
  2. Bake Transforms: If a path shows a transform attribute in the XML:
    • Select the path and Cut (Ctrl+X), then Paste in Place (Ctrl+Alt+V).
    • Group, then Ungroup (Ctrl-G, Ctrl+Shift+G)
    • Alternatively, apply Path > Union to the single object to force coordinate recalculation.
  3. Set Stacking Order:
    • Items at the bottom of the list in the Objects panel are the back-most (e.g., the background leaf).
    • Items at the top are the front-most (e.g., the characters).
    • Use the End key to move a selected object to the very bottom (back).

Use “Optimized SVG” to strip editor metadata while preserving animation IDs.

  1. Go to File > Save As… and select Optimized SVG (.svg). Set to 2 significant digits.
  2. Settings - Options:
    • Uncheck: Keep editor data.
    • Uncheck: Create groups for similar attributes
  3. Settings - SVG Output:
    • Check: Enable viewboxing.
    • Check: Remove metadata.
    • Check: Remove XML declaration.
  4. Settings - IDs:
    • Check: Keep editor-assigned IDs.
    • Uncheck: Remove unused IDs.

Open the exported file in a text editor. It is correct if:

  • viewBox is 0 0 100 100.
  • There are zero <g> (group) tags.
  • There are zero transform="matrix(...)" attributes.
  • Every <path> has a clean id (e.g., id="path-s").
  • No <text> tags exist; all characters are defined by <path d="...">.