The editor is 0 px tall
The editor is 0 px tall
EmbedEditor and mountEditor fill their parent’s box. Give the parent a height.App.tsx
The image doesn't load (LOAD_FAILED)
The image doesn't load (LOAD_FAILED)
A URL
src is downloaded with fetch, so a cross-origin one needs CORS headers from its server. The same goes for an <img>’s source and for an image link pasted into the empty state.A new src doesn't show
A new src doesn't show
src is read when the editor opens. Give EmbedEditor a new key, or destroy and mount again.App.tsx
My page's Content Security Policy blocks the editor
My page's Content Security Policy blocks the editor
If your page sets a CSP, allow:
connect-srcfor the URLs you pass assrc, and as a watermark’s or signature’ssrc.img-src blob:for the filter and frame thumbnails and for an SVG source, plus whateverlogopoints to.font-src data:for a text watermark or signature, and for the annotations’ fonts. Blocked, a fixed or required text mark can’t be drawn (MARK_FAILED, Save stays off), and annotation texts show and save in a system font.worker-src blob:for the HEIC decoder (Chromium and Firefox, HEIC only).- The editor’s CSS goes in through a constructable stylesheet, or a
<style>element where the browser has none.
The page layout doesn't fill the screen
The page layout doesn't fill the screen
An ancestor has a
transform, filter, perspective, contain or will-change: transform. Render the editor nearer <body>.Missing safe areas on a phone mean the page lacks viewport-fit=cover.My CSS reset or font size changes nothing
My CSS reset or font size changes nothing
That’s on purpose. The editor renders in its own shadow root with its CSS inside, so no page rule reaches in and none of its rules leak out. Sizes are in px, so the page’s root font size changes nothing. To change colors, use the
colors prop.Setting --ee-* CSS variables changes no color
Setting --ee-* CSS variables changes no color
That’s on purpose. The editor declares its own palette, so
--ee-* custom properties your page sets, on :root, a wrapper or the editor’s host, never reach it. Give one base color per role through the colors prop instead.Very large images come out smaller
Very large images come out smaller
A photo over 16.7 MP is scaled down to it when it opens, and no output passes it, from Save or
processImage. The output can’t be larger than the GPU allows either, and the Resize tool’s limits follow it. See Large photos.A HEIC photo stops loading in Chromium or Firefox
A HEIC photo stops loading in Chromium or Firefox
A HEIC that carries a color profile has been seen to stop the bundled decoder after about three decodes in one page. The loading screen’s Close keeps the user from getting stuck.
An error screen names a prop
An error screen names a prop
A value the editor can’t take, a misspelt prop or a removed one shows the error screen naming it and calls
onLoadError with INVALID_PROPS. error.props lists the props. The editor comes back as soon as the props are valid. See Errors.