An SVG is all you need

Interactive power of SVG + JS

  • Many comments highlight that SVG plus embedded JavaScript and CSS can recreate much of what Flash once did (keyboard/mouse interaction, audio, animations).
  • Examples mentioned: interactive CNC assembly diagrams, a chess engine running entirely inside an SVG, SVG-based dashboards, a barbecue controller UI, a music game, a dance–blocking/choreography tool, SCADA-style monitors, and decorative/animated wallpapers.
  • SVG is treated as part of the DOM: scripts inside an <svg> behave like in normal HTML, enabling D3, Observable Plot, and other libraries for rich data visualization and research figures.

Tooling, authoring, and workflows

  • Designer tools already output SVG; some people generate SVG via Python for charts or build apps that emit SVG from code.
  • There’s experimentation with LLMs to manipulate SVG or compress QR-code SVGs, though some doubt current models handle complex SVG well.
  • New tools appear for markdown-to-SVG and for interactive research sites that reproduce paper figures in the browser.
  • Others note pain points: limited editors (especially on Linux), difficulty handling transforms and path extraction, and a desire for better, Word-like editors for HTML/SVG “documents.”

Portability, compatibility, and longevity

  • A key positive: a 20‑year‑old SVG still renders and remains interactive in modern browsers, which is seen as strong evidence of spec stability.
  • At the same time, people report real-world issues: Safari rendering bugs, lack of support in Slack, iOS native apps, email clients, and many Open Graph preview contexts.
  • SVG is praised for crisp scaling, but fonts and text are tricky: no native text wrapping, awkward or heavy font embedding, and inconsistent rendering across renderers.

Performance and complexity tradeoffs

  • Some report SVG becoming slow or memory‑hungry with many elements (dense maps, QR codes, chess grids, complex diagrams), and note that canvas/WebGL can be more efficient.
  • Others say they’ve built complex animations with hundreds of elements that perform fine, arguing that bad performance is usually in how it’s used.
  • There’s debate over whether SVG is suitable for highly interactive scientific environments, with disagreement on how “complex” it can get before frame rates suffer.

Security and sanitization

  • Inline SVGs can embed scripts and external references, triggering security reviews.
  • Suggested mitigations: strong Content Security Policy for served SVGs, sandboxing on separate domains, and sanitization tools (DOMPurify, svg-hush).
  • A linked write-up frames SVG as a significant attack surface; some respondents counter that CSP and proper handling largely address this.

Accessibility and document-format debates

  • Several comments worry that SVG-heavy content is not easily accessible to visually impaired users or keyboard-only users, especially for interactive charts.
  • There’s discussion of whether “one self-contained SVG per paper” is overkill compared to HTML+JS, notebooks, or PDFs with limited interactivity.
  • SVG is seen as a poor drop‑in replacement for PDF due to multi-page, printing, encryption, and strict layout needs, though others compare it favorably to PostScript-era programmable documents.