Fit Text to Frame

Fit Text

New! Fit Text 3 Now Out!

Fit Text 3 (version 2.5.0) is now available, and is more powerful than ever!

Main 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.
  • New in version 3: Fit text by adjusting only the width, not the height!
  • 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!
  • New in version 3: Works with multiple columns, text frame corner options, and unequal inset settings!
  • 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.

* Unless “adjust width only” mode is selected.

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 3 (version 2.5) UI screenshot

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”).

(New in version 3): Choose whether to “adjust width only.” Normally, Fit Text adjusts everything proportionally, so if the text gets narrower, it gets shorter as well. With “adjust width only” selected, the text will get wider or narrower as needed, but will stay the same height. If extreme fitting is necessary, the text will be visibly out of proportion. But if smaller adjustments are all that’s needed, this is a great option if you need to fit text on single line and do not want some text to be less tall than the rest.

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 by filling in the form below. In trial mode, Fit Text only works with single-page documents.


Instant Download

To purchase the full version of Fit Text for only $69, 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 $69, 'Fit Text' is
an amazing InDesign timesaver!”

Buy Now

Fit Text: $69.00

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


System Requirements

  • InDesign CS4 or higher (including the latest version of InDesign)
  • Windows or Mac computer

Trial Download

Fill in the form below 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.

      • Sniccer

        March 15, 2023 11:08 pm Reply

        i also looking for the same thing as Kevin. (a script to condense the text to fit the space… keeping the letter height constant, instead of reducing proportionately.) Is it available already?

        • Ariel

          March 15, 2023 11:18 pm Reply

          Yes it is, please contact me by email.

  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?

  20. Darrell Tiemens

    December 9, 2021 6:15 am Reply

    Hi Ariel

    I have purchased your script “Fit Text to Frame” a couple of years ago. I have “FitTextToFrame 2.2.0.jsxbin” but have just changed MacBooks and have upgraded my Adobe Indesign to 2022. Can I just use this old script or do I need to upgrade?

    Kind regards,

    • Ariel

      December 30, 2021 1:47 am Reply

      Hi Darrel,
      Version 2.2.0 should still work, but the latest version is 2.4.1, and is a paid-for upgrade. Important new features are: (1) Select text frame just by placing cursor in some text. (2) A new UI. (3) Option to work on entire document. (4) Choice of 3 operation modes (shrink or enlarge, only shrink, only enlarge). It can also be slightly quicker in some cases.

  21. zeki

    December 28, 2021 2:35 pm Reply


    Metni Çerçeveye Sığdır’ın deneme sürümünü indirmek istiyorum fakat indirmiyor.

    [Google Translate:]
    I want to download a trial version of Fit Text to Frame but it is not downloading.

    • Ariel

      December 30, 2021 1:43 am Reply

      Hi Zeki,
      Just tried the link myself and it seems to be working. Send me an email and I’ll send you the trial by email if the link is blocked for you.

  22. zeki

    January 3, 2022 4:10 pm Reply

    Hi Arial
    Thank you for your return. I sent an email to Can you send the trial version to the address in the mail?

    • Ariel

      January 3, 2022 4:24 pm Reply

      Hi Zeki, I sent you the trial via email.

  23. zeki

    January 3, 2022 6:39 pm Reply

    Hi Ariel, Thanks for the mail, I will run it on the sample file and get back to you in the coming days.

  24. Paul

    February 19, 2022 9:14 pm Reply

    Hi Ariel,

    Had a functionality question.
    What I’m trying to do is create a text box with a fixed width. When I type letters and it exceeds the text box width it automatically shrinks the text to fit the text box. When I hit enter and type less letters that don’t extend to the complete width of the text box it enlarges the text to fit that width.

    Is that something easily done in Fit text? Thanks for the assistance

    • Ariel

      February 20, 2022 1:15 am Reply

      Hi Paul,
      Essentially, this is what FitText does, yes, except that it doesn’t happen automatically: You must run FitText on the text frame. So, you’d type the text that you need in the text frame, run FitText, and FitText will automatically enlarge or reduce the text as needed to fit it optimally to the text frame.

  25. Debbie

    May 10, 2022 5:01 am Reply

    I purchased the fit text frame version 2. It is asking for a serial number, where do I find that?

    • Ariel

      May 10, 2022 2:53 pm Reply

      Hi Debbie,
      The serial number should have been displayed on the “Purchase Successful” page. It would also have been sent to you in a separate email.
      Finally, you can always download fresh links to your products, and be reminded of serial numbers, here:

  26. Bartosz

    June 9, 2022 2:19 pm Reply

    Hey, I recently purchased this script and am in the process of testing it. I have a question regarding the changed text in the frames. I noticed that the text after the changes is saved in the form: 6 pt(5.21), and the frame has a changed scale: 86,7888832147293%. How can I restore the values to their original state? Such a notation is terribly troublesome and causes errors in the project (e.g. when I use GREP and want to convert a given phrase to 8pt, I want to make sure that the text will be exactly that size – in reality the actual size is 6.94). The second error I found are frames – when I try to scale them, the entered value does not change (the frame and its content scales). Is there any easy way to fix this? The script is very useful, but the way it changes the behavior of objects disqualifies it for professional work.

    • Ariel

      June 9, 2022 2:40 pm Reply

      Hi Bartosz,
      To restore the values (frame scale to 100%, and point size without parentheses), there’s an option in InDesign called “Redefine Scaling as 100%”. You’ll find it in the flyout menu (the hamburger menu) at the far right of the Control Panel. So just select the problematic text frame, and run that command.
      For the second error, I haven’t understood exactly what you mean.
      The script is being used by many publishing houses and graphic design agencies, so I think this is a case of user error, rather than the script being disqualified for pro work :-)

      • Bartosz

        June 9, 2022 3:03 pm Reply

        Thank you Ariel for the fast response. My hasty comment came from ignorance :) “Redefine Scaling as 100%” solves the problem. I simply expected the result of the script to do it for me. This raises another question: how can I redefine all text frames in one go? I would like that after the script is run, the text frame has the scale set as 100%, and the text from, say, the initial 6pt is simply changed to 5.21pt (instead of being written in the form: “6 pt(5.21)”).

        • Ariel

          June 9, 2022 3:20 pm Reply

          The script doesn’t do it because sometimes redifining as 100% can cause a slight change to the text and make it become overset again, leading to an infinite loop.
          To redefine all text frames in the document (not including anchored objects or frames in groups), this should work:


          I’ll consider adding a checkbox for this in an update, but meanwhile, this little one-liner should do the trick!

          • Bartosz

            June 9, 2022 3:52 pm

            Awesome! For anyone considering buying a script – don’t hesitate! With such customer support, you are assured that the script will serve you as well as possible! Thanks a lot Ariel – I’m joining the group of satisfied customers and look forward to the update :)

  27. Larry

    July 19, 2022 7:02 pm Reply

    Will the script work for type along a path? As example, if I want names along the top half of a circle and larger names go outside the boundary lines (start and end brackets) will the script resize the font to fit?
    Thank you for your time. I hope it works because it will save me a lot of time in many projects.

    • Ariel

      July 19, 2022 11:35 pm Reply

      Hi Larry,
      No, for now Fit Text works with text in text frames only, not text-on-a-path.

  28. Nathalie

    September 5, 2022 5:42 pm Reply

    Hello, is there a script exactly like this one for Illustrator?

    • Ariel

      September 5, 2022 6:25 pm Reply

      Hi Nathalie,

      Good question!
      Not that I’m aware of.


  29. PG

    March 22, 2023 3:56 am Reply

    Nice script!
    The problem to fix:
    If you have more columns it changes gutter and column width and you can’t fix the values manually to what you want.

    • Ariel

      March 22, 2023 4:02 am Reply

      Good point! I’ll post a fix when I get a chance…
      This issue has now been resolved in the new version 3.

  30. Hugh

    May 4, 2023 5:01 pm Reply

    I regularly create InDesign merges for conference name badges, and have always spent too much time trying to get a balance between point size and line length for names or titles that might be wildly different. This purchase paid for itself on the first project.

    • Ariel

      May 4, 2023 5:12 pm Reply

      Hi Hugh,
      Very kind of you to say so! Glad you’re finding it useful!

  31. Devin Jones

    October 12, 2023 10:45 pm Reply

    Does this script work with text paths?

    • Ariel

      October 12, 2023 11:35 pm Reply

      Hi Devin,
      For now, the script does not work with text-on-a-path.
      It does work with all types and all shapes of text frames.

Leave a Comment