JasminLapalmeDruide's avatar
JasminLapalmeDruide
Brass Contributor
Aug 24, 2026
Status:
New

Word on Mac: bring Range.insertText() performance in line with Windows and Web

Summary

Word.Range.insertText(text, "Replace") followed by context.sync() takes ~300 ms on Word for Mac desktop, versus ~4.5 ms on Windows and ~16 ms on Word on the web running on the same Mac. Full repro and measurements: OfficeDev/office-js#6721.

Why it matters

The cost is per round trip, not per character, so it scales with the number of edits. Add-ins that apply many individual range replacements — proofreading, terminology enforcement, review passes, template population — are fast on Windows and unusable on Mac from the exact same codebase. We build a writing-assistance add-in where a single correction pass means hundreds of replacements, and this gap is what currently prevents us from shipping it to our Mac users.

Why we don't think this is expected behaviour

This was filed as a bug and we were told it's by design and belongs here as an idea. We'd like to challenge that: Word on the web, in a browser, on the very same Mac, is roughly 19x faster than the native Mac host. That rules out hardware, macOS, and the general cost of the Office.js bridge, and points at the Mac host's insert/sync round trip specifically.

What we're asking for

  1. Bring Range.insertText() round-trip latency on Mac into the same order of magnitude as Windows and the web.
  2. Failing that, publish the supported pattern for applying many replacements on Mac without paying the per-sync()cost.
  3. Document the current Mac performance characteristics in the Office.js docs.
No CommentsBe the first to comment