To crop or mask an image in Webflow, place the image inside a Div Block, set the Div's Overflow to Hidden in Style Panel → Size → Overflow, then size the container to your desired crop dimensions. The image inside scales independently using Style Panel → Size → Fit → Cover, letting you control exactly which portion of the image is visible without any custom code.
Webflow Image Masks: Crop, Clip, and Overflow Hidden
Webflow does not have a native drag-and-drop crop tool, but the overflow:hidden technique gives you precise control over which part of an image is visible. By wrapping an image in a container and hiding its overflow, you clip the image to the container's boundaries. Combined with object-fit:cover and object-position, you can create circular profile photos, rectangular hero crops, diagonal shape clips, and hover-zoom effects — all without exporting images in different sizes. This tutorial covers the core overflow:hidden cropping method, aspect-ratio locking, shape masks using border-radius, and advanced clip-path shapes via custom code.
Prerequisites
- A Webflow project open in the Designer
- At least one image uploaded to the Asset Manager (cloud icon in left toolbar)
- Basic familiarity with the Style Panel (S) and Navigator (Z)
Step-by-step guide
Add a Div Block container and set a fixed size
Add a Div Block container and set a fixed size
Open the Add Elements panel (A) → Structure → Div Block and drag it onto the canvas. Give it a class name like 'image-crop-wrapper'. In the Style Panel (S) → Size section, set a specific Width (e.g., 400px) and Height (e.g., 300px). This container defines your crop frame — the image inside will be clipped to exactly these dimensions. Use the Ratio setting (Style Panel → Size → Ratio) to lock an aspect ratio like 4:3 or 16:9 instead of a fixed height if you need responsive behavior.
Expected result: A fixed-size div block appears on the canvas. It is still transparent with no border by default.
Set Overflow to Hidden on the container
Set Overflow to Hidden on the container
With the Div Block ('image-crop-wrapper') selected, go to Style Panel (S) → Size section → Overflow dropdown. Change the value from Visible (default) to Hidden. This is the key step — any child element that extends beyond the div's boundaries will be clipped and invisible. You can also set overflow-x and overflow-y independently if needed, but 'Hidden' applies to both axes at once.
Expected result: The Overflow setting shows 'Hidden'. Any element placed inside that extends beyond the wrapper's bounds will be cropped.
Place an image inside the container and set it to Cover
Place an image inside the container and set it to Cover
From the Add Elements panel (A) → Basic → Image, drag an Image element inside the 'image-crop-wrapper' div. Assign an image from your Assets in the Element Settings Panel (D) → Source. Then select the image and go to Style Panel → Size → Width: 100%, Height: 100%. Next, set Style Panel → Size → Fit to Cover. This makes the image fill the container completely while maintaining its aspect ratio, cropping any overflow. Use Style Panel → Size → Object Position to control which part of the image is centered in the crop window (default is center center).
Expected result: The image fills the container edge-to-edge with no distortion. Excess image area is hidden. You can reposition the focal point using Object Position.
Create a circular mask using Border Radius
Create a circular mask using Border Radius
With the 'image-crop-wrapper' div selected, the container must be a perfect square (equal Width and Height, e.g., 200px × 200px, or use the Square ratio preset in Style Panel → Size → Ratio → Square). Then go to Style Panel (S) → Borders → Border Radius. Click the 'all corners' input and type 50% (or use the % unit selector). The container — and all overflow-hidden content inside — becomes a circle. This technique works for profile avatars, team member cards, and icon frames.
Expected result: The image container renders as a perfect circle, clipping the rectangular image into a circular crop.
Build a hover zoom effect inside the crop container
Build a hover zoom effect inside the crop container
Select the Image element inside the crop wrapper. In the Style Panel (S) Selector field, open the States dropdown and select Hover. Then go to Style Panel → Effects → 2D & 3D Transforms → '+' → Scale and set X and Y both to 1.1 (or 110%). Switch back to the None state and add a Transition: go to Style Panel → Effects → Transitions → '+', set Property to Transform, Duration to 400ms, Easing to Ease Out. Now when hovering the image, it zooms inward smoothly — the crop container clips the scaled image so no white space is visible around the edges.
Expected result: The image smoothly scales up on hover while remaining contained within the crop window. No layout shift occurs.
Apply diagonal or custom shape clips using Custom Properties
Apply diagonal or custom shape clips using Custom Properties
For non-rectangular clip shapes (diagonal cuts, hexagons, polygons), Webflow's visual editor does not have a native clip-path control. Use the Custom Properties section at the bottom of the Style Panel. With the image container selected, scroll to the very bottom of the Style Panel to Custom Properties → click '+'. Add property: 'clip-path', value: 'polygon(0 0, 100% 0, 100% 85%, 0 100%)'. This creates a diagonal bottom edge. Other values: 'circle(50%)' for circles, 'ellipse(55% 45% at 50% 50%)' for ovals. Requires Basic plan or above to preview in published site; previews live in Designer.
1/* Diagonal cut — paste as clip-path value in Custom Properties */2polygon(0 0, 100% 0, 100% 85%, 0 100%)34/* Hexagon */5polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%)67/* Angled left banner */8polygon(0 0, 100% 0, 85% 100%, 0 100%)910/* Circle (same as border-radius 50% but via clip-path) */11circle(50% at center)Expected result: The image container renders with a non-rectangular shape. The clipped edges are clean with no visual artifacts.
Verify your mask hierarchy in the Navigator and test responsively
Verify your mask hierarchy in the Navigator and test responsively
Open the Navigator panel (Z) and confirm your structure is: 'image-crop-wrapper' (Overflow Hidden) → Image (Fit: Cover, Width: 100%, Height: 100%). If the image is outside the wrapper or at the wrong nesting level, the overflow:hidden has no effect. Switch to Tablet breakpoint in the Breakpoint Bar (top of Designer) and verify the crop wrapper adjusts correctly. If using a fixed px height, it will not scale — switch to either a Ratio or use vh/vw units in Style Panel → Size → Height for fully responsive crops.
Expected result: The Navigator shows the correct parent-child nesting. The crop renders correctly at Desktop, Tablet, and Mobile breakpoints.
Complete working example
1WEBFLOW IMAGE MASK / CROP — VISUAL STEPS SUMMARY231. ADD CONTAINER4 Add Elements (A) → Div Block → class: 'image-crop-wrapper'5 Style Panel → Size → Width: 400px, Height: 300px (or Ratio: 4:3)672. SET OVERFLOW HIDDEN8 Style Panel → Size → Overflow → Hidden9103. ADD IMAGE INSIDE CONTAINER11 Add Elements (A) → Image → assign source in Settings (D)12 Style Panel → Size → Width: 100%, Height: 100%, Fit: Cover13 Style Panel → Size → Object Position: center center (adjust as needed)14154. CIRCLE MASK (optional)16 Container must be square (equal W × H or Ratio: Square)17 Style Panel → Borders → Border Radius → 50%18195. HOVER ZOOM (optional)20 Select Image → Hover state → Style Panel → Effects → Transforms → Scale: 1.121 None state → Transitions → Transform, 400ms, Ease Out22236. CUSTOM CLIP-PATH (optional, requires paid plan)24 Style Panel → Custom Properties (bottom) → '+'25 Property: clip-path26 Value: polygon(0 0, 100% 0, 100% 85%, 0 100%)27287. VERIFY29 Navigator (Z) → confirm image is CHILD of overflow:hidden wrapper30 Test all breakpoints via Breakpoint BarCommon mistakes
Why it's a problem: Setting Overflow: Hidden on the image element itself instead of the parent wrapper
How to avoid: Overflow:Hidden on the image itself has no cropping effect. Select the parent Div Block wrapper → Style Panel → Size → Overflow → Hidden. Confirm nesting in Navigator (Z).
Why it's a problem: Image does not fill the crop container, leaving white space around it
How to avoid: Select the image inside the wrapper → Style Panel → Size → Fit → Cover. Then set Width: 100% and Height: 100%. Without these, the image keeps its natural dimensions and does not fill the container.
Why it's a problem: Circular mask is oval instead of circular
How to avoid: Border Radius 50% only creates a perfect circle when the element is a perfect square. Go to Style Panel → Size and make sure Width and Height are equal values, or use the Square preset in the Ratio setting.
Why it's a problem: Hover zoom shows white edges during the zoom animation
How to avoid: The image scale is not large enough to cover the container during animation. Increase the hover scale from 1.05 to 1.15 (Style Panel → Hover state → Effects → Transforms → Scale X/Y: 1.15) so the image always extends beyond the crop boundary even at peak scale.
Best practices
- Always add Overflow: Hidden to the wrapper container, not to the image element itself — the image needs to extend beyond bounds to be cropped.
- Use Style Panel → Size → Ratio (aspect-ratio) instead of fixed heights for responsive cropped images that maintain their proportions at all breakpoints.
- Set a meaningful alt text in Element Settings (D) → Alt Text for every cropped image to maintain accessibility and SEO.
- For circular profile images, upload square source images (1:1 aspect ratio) to prevent quality loss during circular cropping.
- Avoid animating width or height on cropped containers — use Transform Scale instead, which is GPU-accelerated and does not trigger layout reflow.
- When using clip-path in Custom Properties, also add a -webkit-clip-path property with the same value for full Safari compatibility.
- Use the Asset Manager (cloud icon) Compress function to convert images to WebP or AVIF before using them in crop containers — smaller files load faster.
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I'm building a Webflow site and need to crop images using the overflow:hidden technique. My image container is set to a specific size but the image is not being clipped. Can you give me a step-by-step checklist of the Webflow Style Panel settings I need to check? The elements involved are: a parent Div Block (my crop wrapper) and a child Image element. Please reference Webflow's UI panel names and settings.
In my Webflow project, I want to create a grid of team member photos displayed as circles with a hover zoom effect. Each photo should be 200×200px, circular, and zoom to 110% on hover with a smooth transition. The image should be cropped to show the face. Can you describe the exact Webflow Style Panel settings and element structure I need, using panel names like 'Style Panel → Size → Overflow' and 'Style Panel → Effects → Transforms'?
Frequently asked questions
Does Webflow have a native image crop tool?
Webflow does not have a direct crop tool like Figma or Photoshop. Instead, you use the overflow:hidden technique: wrap the image in a Div Block, set that Div's Overflow to Hidden in Style Panel → Size → Overflow, then set the image to Width: 100%, Height: 100%, Fit: Cover. This achieves the same visual result as cropping.
Can I create custom shape masks (hexagon, star, diagonal) in Webflow without code?
Basic rectangular and circular masks are achievable without code using Overflow: Hidden and Border Radius. For polygonal or non-standard shapes, you need to use Style Panel → Custom Properties → clip-path with a polygon() value. This requires a Basic plan or above to appear on the published site, and a free tool like clippy.bhfo.dev can generate the polygon values visually.
Why does my overflow:hidden not clip the child image?
The most common cause is that the image element is not a direct child of the overflow:hidden container. Open the Navigator (Z) and confirm the image is nested inside the Div Block that has Overflow: Hidden. Another cause is that the image has a fixed size smaller than the container — set the image to Width: 100% and Height: 100% so it fills the parent before it can be cropped.
Will CMS-connected images also be cropped by the overflow:hidden container?
Yes. You can bind a CMS Image field to the image source inside a crop container. In the Collection List, place an Image element inside your overflow:hidden Div Block, then in Element Settings (D) → Source, click the purple binding icon and connect it to your Image CMS field. The cropping is applied by CSS at render time and works with any image source, including CMS-connected ones.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation