Skip to content
Raw SVG templates

Simply-Supported Beam

Beam with uniform load, reaction forces and bending moment diagram.

Template previewRaw SVG
Rendering…

Make it your own.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 520 280" width="520" height="280">
  <style>
    text { font:12px Inter, sans-serif; fill:#0f172a; }
    .lab { font-weight:600; }
    line.arrow { stroke:#0f172a; stroke-width:1.6; }
    rect.beam { fill:#dbeafe; stroke:#0f172a; }
  </style>
  <defs>
    <marker id="a" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto">
      <path d="M0,0 L10,5 L0,10 z" fill="#0f172a"/>
    </marker>
  </defs>
  <!-- Beam -->
  <rect class="beam" x="60" y="100" width="400" height="20"/>
  <!-- Supports (triangles) -->
  <polygon points="60,120 40,150 80,150" fill="#94a3b8" stroke="#0f172a"/>
  <polygon points="460,120 440,150 480,150" fill="#94a3b8" stroke="#0f172a"/>
  <!-- Distributed load arrows -->
  <g>
    <line class="arrow" x1="80"  y1="60" x2="80"  y2="100" marker-end="url(#a)"/>
    <line class="arrow" x1="140" y1="60" x2="140" y2="100" marker-end="url(#a)"/>
    <line class="arrow" x1="200" y1="60" x2="200" y2="100" marker-end="url(#a)"/>
    <line class="arrow" x1="260" y1="60" x2="260" y2="100" marker-end="url(#a)"/>
    <line class="arrow" x1="320" y1="60" x2="320" y2="100" marker-end="url(#a)"/>
    <line class="arrow" x1="380" y1="60" x2="380" y2="100" marker-end="url(#a)"/>
    <line class="arrow" x1="440" y1="60" x2="440" y2="100" marker-end="url(#a)"/>
  </g>
  <text class="lab" x="200" y="50">w (uniform load)</text>
  <!-- Reactions -->
  <line class="arrow" x1="60"  y1="200" x2="60"  y2="155" marker-end="url(#a)"/>
  <line class="arrow" x1="460" y1="200" x2="460" y2="155" marker-end="url(#a)"/>
  <text x="35" y="220" class="lab">R_A = wL/2</text>
  <text x="430" y="220" class="lab">R_B = wL/2</text>
  <!-- BMD -->
  <text class="lab" x="220" y="260">M_max = wL²/8  at mid-span</text>
</svg>