See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
Bitbucket Cloud strips raw HTML entirely
Where GitHub sanitizes HTML down to an allowlist, Bitbucket Cloud removes it altogether. An iframe, a picture element, even a plain div in your README markdown simply does not appear in the rendered page. There is no interactive embed route and no theme-switching markup: the rendered README is markdown constructs only.
That narrows the decision usefully. If you want a diagram in a Bitbucket README at all, it is either a committed image file, which goes stale until someone regenerates and commits it, or a markdown image pointing at a URL that re-renders when the diagram changes.
The markdown image that works
Bitbucket renders standard markdown image syntax in READMEs, other .md files, and pull request descriptions. Point it at a live endpoint and the README stays current without commits: Datadef serves the image with a five minute cache lifetime and an ETag tied to the last edit, so an edited diagram shows up within minutes wherever the URL is rendered.
The endpoint accepts sizing parameters when the default 1600x1000 render at 2x does not fit: format png or jpeg, width 600 to 4000, height 400 to 4000, scale 1 to 3.

<!-- Works in README.md and pull request descriptions.
Sized variant: -->
Mermaid in Bitbucket: .mmd files yes, README no
Bitbucket Cloud does not render Mermaid fenced blocks inside markdown files, so the pattern that works in a GitHub or GitLab README shows up here as a literal code block. The feature request (BCLOUD-21675) has been open for years without shipping.
What Bitbucket does render is standalone .mmd files: open one in the source browser and it draws as a diagram. That is useful for a diagram someone browses to deliberately, and useless for the README itself, which cannot include a .mmd file inline. Marketplace apps and browser extensions exist that render Mermaid blocks client-side, but they only work for readers who installed them, which a README cannot assume.
The wiki is its own repository
A Bitbucket wiki, once enabled in repository settings, lives in a separate repo you can clone and push independently of the code. Its pages have their own markup rules and render markdown images by URL the same way the README does, so the identical line keeps a wiki architecture page current.
Because the wiki repo does not ride the code review flow, its prose drifts even faster than a README. A live image removes the stale-screenshot half of that problem; the prose half needs process, which is its own subject in keep your README in sync with code.
Keeping the diagram current, and the honest limits
The live URL means nobody re-exports and re-uploads a PNG. It does not mean the diagram edits itself. When the architecture changes, someone updates the diagram in Datadef, or an AI agent does: the Datadef MCP server (registry name io.datadef/mcp) lets an agent like Claude Code read the repository and update the diagram to match, invoked after a merge, from CI, or on request. Datadef does not watch your repository; nothing regenerates until an agent call or CI command asks for it. An API key from the paid plans authorizes the connection.
The other limit is visibility. The embed URL exists only while the source project is shared public. Private diagram, no embed: the URL 404s. Confidential architectures on Bitbucket are better served by a committed export regenerated in CI, accepting staleness between runs.
Quick decision
FAQ
How do I embed a diagram in a Bitbucket README?
Does Bitbucket support Mermaid diagrams in markdown?
Can I put an iframe in a Bitbucket README or wiki?
How does the Bitbucket wiki handle images?
How quickly does an embedded diagram update in Bitbucket?