Comparing Digital Whiteboards

Comparing Digital Whiteboards

Posted Sep 30, 2024
Table of Contents

Originally posted on boogerbuttcheeks.com

I’ve been comparing the various digital whiteboards the past while trying to find the best solution for my brain dumping needs.

What I’m looking for:

  • embeddable as readonly
  • embed auto syncs
  • infinite canvas
  • light and dark mode
  • mobile friendly
  • “smart” starting view
    • when you have an infinite canvas, what part of the canvas is shown when the page first loads?
  • zoom and pan
  • gif support

I tried the following:

  • Figma/Figjam (interchangeable)
  • TLDraw
  • Canva
  • Excalidraw

Obsidian’s canvas actually works pretty well but that’s not currently embeddable or publishable. They’re also making JSON Canvas, an “open file format for infinite canvas data”. There’s also the OCWG: Working Group for Interoperable Infinite Canvas Tools.

Here are my findings:

FigmaTLDrawCanvaExcalidraw
embeddable as readonly!
embed auto syncs!
infinite canvas
light/dark mode!
mobile friendly!
smart starting view!?
zoom and pan
gif support!!

Excalidraw

Pros

Cons

  • couldn’t get gifs working!
  • can’t set embed to readonly
  • no embed auto sync

Canva

Pros

  • easy embed (copy & paste, took two seconds)
  • gifs work
  • auto syncs (takes a few seconds)

Neutral

  • the smart start view autoscales so everything is in the viewport, but there’s no zooming or panning for the embed. if your workarea area gets large the embed will be hard to see.

Cons

  • no pan or zoom support for the embed
  • Canva pushes paid features hard
  • light mode only

TLDraw

Pros

  • gifs work
  • light and dark mode
  • grid background
  • open source
  • readonly mode
  • option to hide ui

Cons

  • must use react package to use readonly and hide ui features
  • no smart starting view
  • no auto sync
  • export is a bit wonky
  • must sync manually

Note: the export as JSON feature isn’t fully functioning. To export JSON that you can then import, run console.log(JSON.stringify(editor.getSnapshot(), null, 2)) in the browser console.

Figma/Figjam

Pros

  • easy embed (copy & paste, took two seconds)
  • access to many fonts
  • smart starting view—content is always centered
  • works well on mobile
  • auto sync (in real time)
  • i like the highlighter tool in figjam

Cons

  • light mode only
  • gif support sucks

Conclusion

I’m sticking with Figma.