Fit Text to Frame

Fit Text

New! Version 2 Now Out!

Version 2 of the popular Fit Text script is a complete rewrite of the original script.

New features:

  • 100% compatible with InDesign’s data merge. Create a data-merged document and make sure everything fits with 1 click!
  • Three modes of operation: Only shrink text to fit, only enlarge text to fit, or shrink and enlarge as needed.
  • Make all the text in an entire story of threaded text frames fit!
  • Fit by object styles: Run the script, select an object style from the new dropdown, and all text frames with that style applied will be changed!
  • Or… select multiple frames and run the script. It will now work on all selected frames!
  • Works with text frames that have been rotated, sheared, and/or flipped!
  • Works even if graphics with text wrap collide with any of the frames.
  • Drastic speed improvements!

Why is it better than the free scripts?

There are a few free scripts out there that will also fit text to a given frame.

Fit Text works very differently to the free scripts. Apart from the extra features (such as running it on an object-style basis, fitting text to an entire story of threaded frames, etc), and the support you get from a commercial product, Fit Text to Frame is fundamentally different

It does not just increase or decrease the size of text. It resizes everything proportionally, including indents, space before and after, leading, tabs, inline graphics, paragraphs, and just about anything that can be put in an InDesign text frame.

There is no free script out there that even comes close!

How It Works

Fit Text will fit your text to the size of the text frame it’s in. If there is room, it will enlarge the text as much as possible to fit within the text frame. It is a complete InDesign copyfitting solution.

The script will also reduce the text if there is overset text, to ensure that all the text fits into the frame.

Text is NOT distorted. It is simply enlarged or reduced by the precise amount necessary to make it as large as possible within the text frame, or to make it just small enough so that it all fits within the text frame.

Fit Text now works on entire InDesign stories. If you’ve got a limited amount of space, but must get all the provided copy into that space, run Fit Text and all the text will be reduced just the right amount to make it fit in the available space.

Likewise, if the last frame of a story is half empty, run Fit Text and all the text will be enlarged just enough to fill the frames.

If you miss CorelDraw’s text-fitting feature and would like to see it in InDesign, this is the script for you!

Video Tutorial: Fit Text to Frame and Data Merge



Fit Text to Frame UI

Select some text frames, or place your cursor in a text frame and run Fit Text to Frame. A UI window will appear. Choose whether to run the text-fitting on just the selected frames, on the entire document, or only on text frames with a particular object style applied to them.

Choose whether Fit Text to Frame should only try to fix overset text frames (this is the “Shrink text only” option), or should only fix frames that are not completely full (“Enlarge text only”), or fix both types of frame (“Shrink or enlarge as needed”).

Click OK and you’re done!


Download and install the script into your InDesign scripts folder as usual.

Trial version

A trial version can be downloaded here. In trial mode, Fit Text only works with single-page documents.

Instant Download

To purchase the full version of Fit Text for only $49, click the “Buy Now” button. Your product and serial numbers will be available for instant download when you complete the purchase.

Money-back Guarantee

If you are not satisfied with Fit Text for any reason, simply let us know within 30 days of purchase for a full refund.

“For just $49, 'Fit Text' is
an amazing InDesign timesaver!”

Buy Now

Fit Text: $49.00

If you need an InDesign Server version of “Fit Text,” please contact us.


System Requirements

  • InDesign CS4 or higher (including InDesign 2022)
  • Windows or Mac computer

Trial Download

Click on the button to download a trial version of Fit Text to Frame.

Article Comments

  1. Walter Chongo

    May 3, 2017 11:00 am Reply


    Can I use this script with Data Merge in Indesign?


    • Ariel

      May 3, 2017 11:03 am Reply

      Hi Walter,
      Sure – do the datamerge. Use an object style for the text frames that get populated. Then deselect everything and run FitText and select the target object style, and everything will fit itself to the size of its parent container.
      If you run into any difficulties, get in touch: admin [at]

  2. Bill

    September 15, 2017 12:00 pm Reply

    Hi Walter,
    We are a school stationery supply business and looking at supplying student name labels. There would be multiple labels on a A4 sized page but labels would differ in size and hence the text box and text size. Is there a way to assign FitText to a master/template page before performing a data merge in Indesign? Just thinking of streamlining workflow as we would literally have hundreds if not thousands of pages to print?

    • Ariel

      September 15, 2017 2:12 pm Reply

      Hi Bill,
      FitText works great with data merge. It can’t be linked to a template as such, but after you do the datamerge, you can easily fit all the text in all the frames in the entire document to the size of their container.

  3. Andrew Porzio

    January 26, 2018 6:14 am Reply

    Is there a way to get it to only shrink the size and not make text larger if it already fits?

    • Ariel

      January 26, 2018 1:01 pm Reply

      Hi Andrew,
      With the new version 2, this is now possible!

      • Molly

        May 23, 2018 10:08 pm Reply

        Hi Ariel, My team would also love the feature that Andrew requested above. Has it yet been developed? The version we just purchased does not have it and w/out it we can’t use the script.

    • Ariel

      May 25, 2018 6:18 pm Reply

      This feature has now been added and will be available from Monday 28 May 2018. Anyone making a purchase at this point will be elligible for a free upgrade as soon as it comes out.

  4. Grant

    May 24, 2018 3:09 am Reply

    I tried using the trial to resize some text but it doesn’t work correctly… It removes letters from names and spaces in attempts to fit rather than making the font size smaller to fit. Any ideas why this would be?

    • Ariel

      May 25, 2018 6:17 pm Reply

      Hi Grant, that is just a limitation of the trial version. It does not happen in the real version, and Fit Text is not removing letters to make text fit (!), again it’s just for the sake of the demo version.
      The full version naturally keeps all text intact.
      We do offer as 30-day money back guarantee, so if you feel the demo version is too limiting, please feel free to take advantage of that offer.


  5. Daniel

    October 2, 2018 2:56 pm Reply

    Hello Ariel, I am very interested in your script. I’m trying to use it on my CC 2018 (French version) “FitTextToFrame.2.3.0.Trial”. But when I run it by having selected the text block, nothing happens, I do not get the UI window. Do you have a solution ? Thank you.

    • Ariel

      October 4, 2018 10:30 pm Reply

      (I got in touch with Daniel and we did a quick screenshare. His problem was a permissions issue on the Mac. The solution was to put the script file in the “Application” folder rather than in the “User” folder [when you open the Scripts Panel in InDesign, you’ll find those two folders there; placing a script in the Application folder ensures that it has full permissions].)

  6. Greg

    January 4, 2019 6:26 pm Reply

    I’ve downloaded the free trial. But, it looks as though it shrinks every record to a font size that fits the longest record, even the records that would have originally fit fine at the original font size. Or, is this just an anomaly when using the preview prior to export?

    I only want it to shrink the records that are overset, not every record. I’ve tried the “shrink & enlarge” but it still shrinks every record.

    Would love it if this worked ONLY on overset records.


    • Ariel

      January 7, 2019 11:50 am Reply

      Hi Greg,
      FitText does not shrink things unnecessarily. It only shrinks records that are overset. It can also enlarge all records to fit the available space. You can set it to do one, or the other, or both (i.e. only shrink, only enlarge, or shrink and enlarge as needed).
      The demo version is identical in operation to the main version (except that it only works for shorter document).
      So try again. If it still isn’t working for you, I’ll be happy to take a look at your file to see what’s happening.

  7. Deanna

    February 8, 2019 2:29 am Reply

    We use the Indesign data merge thru javascript automation. If this is a script does it show up in the scripts panel, therefore can it be selected to run through a javascript automation sequence?

    • Ariel

      February 8, 2019 2:47 am Reply

      Hi Deanna,
      Yes, we have a server version of Fit Text which can be run as part of a Javascript automation sequence without the need of a UI. Feel free to get in touch for more details.

  8. Ernie

    February 26, 2019 8:04 pm Reply

    I’m having trouble getting it to work. I am trying the trial version before I purchase the full version. I work for a calendar company, and we need a way to auto adjust the size of type for really long names/companies. We use the data merge in Indesign with imported excel csv files. When I try to use the Fit Text to Frame trial script, the text for some of the names is still overset. Is there a limit in the amount of characters that will work with this script? Some of the names/companies are over 40 characters. Thanks

    • Ariel

      February 27, 2019 4:44 am Reply

      Hi Ernie,
      It should work with names of any length.
      Could you send a screenshot or two to show me what’s happening. Or maybe even the ID file itself?

  9. Paul Vlachou

    March 14, 2019 9:52 pm Reply

    Hi Ariel,

    It doesn’t look like your script/plugin scales the text dynamically as your type. I would have to run it each time the text changes. Is that correct?


    • Ariel

      March 14, 2019 9:56 pm Reply

      Hi Paul,
      Yes, that is correct. It is a script, and while it could be set to run in the background, it would really slow things down.
      However, you can set a keyboard shortcut to make it easy to launch the script.

  10. Kevin

    May 21, 2019 5:09 pm Reply

    Hi Ariel,
    Using the trial version, and it works perfectly. However, I need a script to condense the text to fit the space… keeping the letter height constant, instead of reducing proportionately. Do you have a solution for this?

    • Ariel

      May 25, 2019 10:29 pm Reply

      This can certainly be done, and I will consider adding it as an option to FitText.
      Meanwhile, if anyone needs this option, please get in touch for a quote.

  11. Manikanda Sha

    June 2, 2019 9:05 am Reply

    Hi Ariel,
    I have purchased FIT TEXT script on 3rd March 2019. It worked soo well and saves my time.
    Now i have fully wiped my computer and installed Adobe ID and placed the script in that folder. While running script it asked for activation key and i have pasted my key. But it shows “This serial number is already been activated”. Get me back soon….

    • Ariel

      June 2, 2019 12:46 pm Reply

      Hi Mani,
      Let’s be in touch privately and I will sort it out.
      Glad the script is saving you time! 🙂

  12. Bob Newman

    October 25, 2019 9:02 pm Reply

    I need for the text to resize only on the width axis. I need al my letters on each name tag to be the exact same height and for the text box to be fixed. If there are too few text characters to fill the box at default specs, so be it. As the character count increases, I need for the Horiz spacing,/tracking, to adjust so no characters are overset. It is vital that the height of every text character in consistent. I have names coming in that range from 5 characters and don’t nearly fit the text box horizontally to 25 characters that require massive horizontal adjustment. Again, no changes in character height are allowed. If I van make this work, I have no trouble paying for the script, believe me. I have set up 11 character styles and just choose the ones that fit now, since gripping isn’t working.

  13. Morten

    November 18, 2019 4:42 pm Reply

    Hi There.
    I am using InDesign CS6 – version 8.0
    Is that the reason why I have trouble importing the trail-version ?

    Look forward to hear from you

    • Ariel

      November 18, 2019 11:55 pm Reply

      Hi Morten,
      Fit Text is fully compatible, tried and tested, with CS6. So, nope, that’s not why you’re running into difficulties.
      If you want to send me an email with some screenshots showing the problem, I’ll be happy to take a look: admin [a t]


  14. Martin

    December 30, 2019 3:41 pm Reply

    Can this script be used to fit overset text inside table cells?


    • Ariel

      December 30, 2019 4:27 pm Reply

      Hi Martin,
      No, for the time being it fits text to text frames, but it doesn’t fix overset text in cells.

  15. Mark Holbrook

    February 27, 2020 7:16 pm Reply

    Hello is there any way to distort the text to fit? For example the horizontal and vertical scale? Thinking of using for a word art page so have a variety of words to fit pre placed text boxes but need to words to completely fit to the box.


    • Ariel

      February 28, 2020 4:22 pm Reply

      Hi Mark,
      No, for the time being Fit Text makes sure not to distort text, so no non-proportional scaling, I’m afraid.
      In fact, what you ask isn’t as simple as it sounds, because each letter has its own side-bearings, so without decomposing the glyph the best a script could do would be to make the letter fit including the sidebearings – which I think wouldn’t give you quite the result you’re after. It’s a bit like the problem which InDesign’s drop-cap option “Align to frame edge” fixes…

  16. Andy

    July 1, 2020 10:36 pm Reply


    I’ve downloaded the free version of the script to try it out.
    It seems that it doesn’t resize the text on paths (ex. on circles)

    Is there any way to fit the text on paths?
    Also at occasions the script wraps longer words to a second line, instead of resizing to fit the length of the frame.
    Can this behavior change?

    My regards.

    • Ariel

      July 8, 2020 1:04 am Reply

      Hi Andy,
      Fit Text does not work with text-on-a-path, unfortunately.
      Regarding wrapping to a second line, if there’s room for a second line, it will indeed do that.
      If you want to keep the line together under all circs., you would need to apply “no break” to that line before running the script.

  17. Ankur saraswat

    August 20, 2020 3:48 pm Reply

    hey, may i fix my spacing between two text box during data merge file.

    • Ariel

      October 21, 2020 12:54 am Reply

      Not sure what you mean.

  18. Shane Shepherd

    September 27, 2021 3:56 pm Reply

    I have an enquiry.

    if i use a data variables that are meant to be on several lines, for example a 5 line poem, for example…

    To be,
    or not to be,
    that is the question.

    will this plugin still fit the text (resize up or down) and still preserve the rows without joining the text into one long sentence (that wraps)?

    so, it should NOT be changed into this:

    To be, or not to be, that is the question.

    • Ariel

      September 27, 2021 4:39 pm Reply

      Hi Shane,
      By default it will not retain line breaks. Of course, if there’s a paragraph return at the end of each line it won’t change that; but it might divide lines into two.
      However, there are several ways to avoid this: (1) Apply the “no-break” attribute to each line. This can be done as part of a paragraph style, using the “line styles” feature that is part of paragraph style definition: Create a character style that just applied no break, and apply that to each line in the paragraph. This will ensure that no line is ever split. (2) I suppose you could replace all spaces by no-break spaces. But that’s a more heavy-handed solution.

      • Shane Shepherd

        September 27, 2021 6:40 pm Reply

        Thank you very much for the speedy reply, much appreciated!

        I am intrigued by the possibilities that this tool may allow me to create certain types of documents (for example christmas/birthday/valentines cards) that would use short poems.

        So i will try the demo version and see its effect.

  19. Brianna

    November 30, 2021 8:40 pm Reply

    Is it possible to set a minimum font size when running the script?

    • Ariel

      November 30, 2021 9:29 pm Reply

      Hi Brianna,
      The way you would set a minimum font size is to make the text the minimum size you want it, and then, when you run Fit Text, tell it to “Enlarge Only”, so it will only enlarge the text as needed, and never reduce it below the minimum you’ve started with.
      Does that help?

Leave a Comment