There are two issues I’ve ran into.
Inserting an image via the image button, and selecting an image from the media library that is let’s say, 1200px wide, inserts and overflows the editor preview on the back-office node view.
There is no way to change the image’s size when it’s inserted, whether typing a size or dragging.
Is this the correct behavior?
Hi @jason-delaplain
Personally, I normally avoid inserting images into the RTE for exactly this reason - you have less control and they aren’t responsive.
Instead, use either RTE blocks or add the image outside the RTE in a Block List/Grid so you have full control of the image in the view when rendering.
Also, what version of Umbraco are you using with which RTE (TinyMCE or TipTap?)
Justin
1 Like
Interesting. Ok, I’ll switch to creating an RTE Image block and remove the tiptap media insert. I’ll probably do this for embedded videos too, so there’s control over responsive sizing view.
It’s Umbraco 17. It’s been a challenge with multiple places to style editor preview, tiptap slideout view, etc.
Hi @jason-delaplain
There was mention of image resizing in TipTap coming in Umbraco 17 in the near future, although I’m not sure which release this will be in.
Justin
jacob
(Jacob Overgaard 🚀)
June 12, 2026, 4:16pm
5
The feature was added in Umbraco 17.4.0:
main ← v17/feature/65981-tiptap-edit-image-properties
opened 09:36AM - 26 Mar 26 UTC
## Summary
- **Shared `<umb-input-dimensions>` component** — extracted into `cor… e/components` to deduplicate the dimension input logic between the media caption/alt-text modal and the embed modal. Form control (`UmbFormControlMixin`) with width/height fields, aspect ratio lock, proportional resize, and 14 unit tests.
- **Reset-to-natural button** — when `naturalWidth`/`naturalHeight` are provided (media modal), a "Reset" button appears below the dimension fields to restore original proportions. Natural dimensions are capped to `maxImageSize`.
- **Media caption/alt-text modal** — auto-populates dimensions from the image's natural size (capped proportionally to `maxImageSize`), uses the shared dimensions component with natural dimension support. Preview uses `width` + `aspect-ratio` with `max-width: 100%`, centered. Wrapped in `<uui-box>` for consistent background.
- **Embed modal** — uses the shared dimensions component with disabled state until a URL is retrieved. `constrain` now defaults to `true` (across modal, toolbar API, and TipTap node attribute). Existing embeds with explicit `data-embed-constrain` are still respected. Dimensions are explained to the user as maximum width/height hints to the oEmbed provider (localized description). Preview shows the provider's raw markup with responsive scaling; iframes get `aspect-ratio` applied from their attributes to prevent collapsing to 150px. Wrapped in `<uui-box>` for consistent background.
- **Input validation** — width/height reject 0 and negative values, falling back to sensible defaults.
- Fixes figcaption cursor bug: clicking edit while cursor is inside `<figcaption>` now correctly edits the existing image instead of opening the media picker for a new one.
- Fixes figcaption replace bug: editing an image from within `<figcaption>` now selects the parent `<figure>` before replacing, so the image is updated in-place instead of inserting a duplicate.
- Passes user-specified dimensions to the imaging endpoint so the returned URL has a valid HMAC signature.
- Updates default embed aspect ratio from 3:2 to 16:9, matching modern video embeds.
## Screenshots
### Media picker
<img width="808" height="1015" alt="image" src="https://github.com/user-attachments/assets/25fbc082-a285-4d63-b458-2c651fd7df19" />
### Embed
<img width="821" height="1025" alt="image" src="https://github.com/user-attachments/assets/7daef652-f09e-4a16-aebd-865853799fe1" />
## Test plan
- [ ] Insert a new image via media picker → modal should show width/height pre-filled from natural dimensions (capped to maxImageSize)
- [ ] Modify width with lock on → height should auto-adjust proportionally
- [ ] Toggle lock off → width and height are independent
- [ ] Re-lock → ratio recalculated from current dimensions
- [ ] Submit → image in editor should have the specified dimensions and a working URL
- [ ] Click existing image's toolbar button → modal should show current width/height
- [ ] Change dimensions → image should update in editor with correct HMAC-signed URL
- [ ] Resize image then click "Reset" → dimensions should reset to natural size (capped to maxImageSize)
- [ ] Place cursor inside a figcaption → click edit image toolbar button → should edit the existing image, not insert new
- [ ] Edit image from figcaption → should replace the existing figure in-place, not insert a duplicate
- [ ] Open embed modal → type a URL and retrieve → dimensions should be enabled with 500×281 default (16:9)
- [ ] Embed dimensions description should explain values are max width/height hints to the provider
- [ ] Change embed width with lock on → height auto-adjusts; preview re-fetches (debounced)
- [ ] Embed preview (YouTube iframe) should scale proportionally when constrained by sidebar width
- [ ] Both modals should have consistent card background (`<uui-box>`)
AB#65981
🤖 Generated with [Claude Code](https://claude.com/claude-code)
To resize an image, you select it with the cursor, then click the ‘Image’ icon in the toolbar, and you should see a width x height field show up in the sidebar.