> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qrdyai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Fill Text With an Image in Canva

> Learn how to fill text with an image in Canva by turning letters into frames. Two methods, plus how to add fonts, borders, and blur to photo-filled text.

Filling text with an image — also called photo-in-text or image-filled typography — makes a word show a picture through its letters. This guide covers two ways to do it in Canva: the fast way with the [Text to Frames](/text-to-frames/what-is-text-to-frames) app, and the manual frame method.

## What "fill text with image" means

Instead of a solid color, each letter of your word acts as a window onto a photo or pattern. The image shows only inside the letter shapes. To do this in Canva, the letters need to become **frames** — placeholders that crop an image to their shape.

## Method 1: Turn letters into frames with Text to Frames

This is the fastest way, and it keeps your text editable as real letter shapes.

<Steps>
  <Step title="Open Text to Frames in Canva">
    From the **Apps** panel, open Text to Frames.
  </Step>

  <Step title="Type your word and pick a font">
    Enter the text you want to fill. Choose a font and weight — bold, rounded fonts hold images best.
  </Step>

  <Step title="Convert to frames">
    Convert your word into letter frames. Each letter becomes a separate frame in your design.
  </Step>

  <Step title="Drop an image in">
    Drag any photo or pattern into the letters. The image fills the text and crops to the letter shapes.
  </Step>

  <Step title="Add a border or blur">
    Add a border around the letters or apply blur to the image inside, so the text stands out against your background.
  </Step>
</Steps>

<Card title="Try Text to Frames" icon="font" href="/text-to-frames/what-is-text-to-frames" horizontal>
  Turn any word into photo-fillable Canva frames with fonts, borders, and blur.
</Card>

## Method 2: The manual frame method

You can also do it without an app, though it takes more steps and the result is a flat image rather than editable letters.

<Steps>
  <Step title="Type and style your text">
    Add your text, then pick a thick, bold font so the image is clearly visible inside.
  </Step>

  <Step title="Download the text as a transparent PNG">
    Download just the text as a **PNG with a transparent background**.
  </Step>

  <Step title="Re-upload and layer your image">
    Upload the PNG back into Canva, then arrange your photo behind or inside it to create the fill effect.
  </Step>
</Steps>

<Note>
  The manual method flattens your text into an image, so you can't edit the wording afterward. Use [Text to Frames](/text-to-frames/what-is-text-to-frames) if you want to keep the letters editable.
</Note>

## Fill a shape with a picture too

The same frame trick works for any shape, not just letters. Turn a shape into a frame, then drop a photo in to fill it. See [How to Add a Photo to a Frame in Canva](/image-to-frames/how-to-add-photo-to-frame-canva).

## Canva vs Photoshop

In Photoshop, filling text with an image uses a clipping mask. Canva's frame approach reaches the same result without layers or masks — you simply drop the image into letter-shaped frames, which is faster for most designs and works on mobile.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="How do I fill text with an image in Canva?">
    Turn your letters into frames — fastest with the [Text to Frames](/text-to-frames/what-is-text-to-frames) app — then drag a photo into the letters to fill them.
  </Accordion>

  <Accordion title="Can I keep the text editable after filling it?">
    Yes, if you use letter frames. The manual PNG method flattens the text into an image, so the wording can't be edited afterward.
  </Accordion>

  <Accordion title="What font works best for image-filled text?">
    Thick, bold, or rounded fonts work best because they leave more surface area for the image to show through.
  </Accordion>
</AccordionGroup>
