Vertical Justification

V-Justify: Control Text Frame Vertical Justification in InDesign

Reclaim control over InDesign’s vertical justification with the V-Justify add-on!

Often, a layout requires text to reach the bottom of the frame it’s in. This is called “vertical justification.” Like horizontal justification, it is achieved by adding space between paragraphs, and possibly between lines, until the last line is flush with the bottom margin.

(If you’re already cringing, you’re probably a book typesetter! Traditional book typesetting frowns on the idea of adding space between paragraphs, and, worse, between lines, to achieve vertical justification. The practice is known as “carding” or “feathering” (see here). The proper way to achieve a balanced page in traditional typography is by making sure all typographic elements on a page are a multiple of the baseline grid and to run spreads long or short as needed. However, even in books this is not always possible (think block quotes with tighter leading than body text, for example). And in newspapers and journals, labels, and many other items of print, it is neither possible nor desirable. V-Justify is intended for such cases!)

InDesign has a “vertical justification” feature. But it is so basic it is basically useless! InDesign’s vertical justification fails because:

  • There is no way to specify how much space is allowed before or after a particular paragraph style. Instead, equal space is added between all paragraphs.
  • InDesign only adds, never reduces, space. Even when a tiny space reduction is all that’s needed for a great-looking page, InDesign fails!
  • InDesign justifies all pages (when using object styles), even at chapter ends! Typically there is no need for vertical justification on a chapter’s last page.

These shortcomings mean wasting time, repeatedly tweaking space-before and space-after settings to get a balanced page. The manual guesswork is tedious and inaccurate!

Wouldn’t it be nice if InDesign could do all this for you? Now it can!

  • “Do you need V-Justify? If you even occasionally need to create a document that contains multiple columns or pages that must all be vertically justified, there’s no other way to achieve that goal that doesn’t involve considerable pain and suffering. V-Justify makes quick work of this task, potentially paying for itself the very first time you use it. It’s also easy to learn and use. As someone who’s used to working on complex layouts for fussy clients, I highly recommend it.”
    Keith Gilbert - InDesign Magazine

V-Justify: The Solution

V-Justify is the new Id-Extras add-on for Adobe InDesign. It gives full control of text-frame vertical justification. Use it to balance text in frames with all the options you need for best results!

With V-Justify, specify minimum and maximum space-before and space-after values for each paragraph style in the document.

For instance, allow InDesign to add space before, but not after, a subhead, so the distance between the subhead and the following text is fixed. Or allow a little extra space after body paragraphs, but more flexibility around subheadings, block quotes or displayed equations.

You are in control!

V-Justify works with: single- or multi-column text frames, non-rectangular text frames, and frames with anchored and non-anchored objects. It also works with frames with footnotes and tables. It may not work properly with frames that have long tables or footnotes flowing onto the next page (but you can choose not to run it on those pages).

If there is not enough leeway for proper vertical justification, tell V-Justify only then to use InDesign’s built-in vertical justification to add extra space between lines, or unlimited space between paragraphs. Or tell V-Justify to disable InDesign’s vertical justification feature altogether, if you prefer to fix the page yourself.

Finally, because V-Justify can detect chapter endings, you can tell it not to justify the ends of chapters.

Before Vertical Justification


After Vertical Justification


Watch V-Justify in Action! (YouTube Tutorial)

Free Demo Download

Not sure if V-Justify will work with your document? Fill in the form below to get an instant download link to a free trial of V-Justify.

The trial will open a copy of your document in InDesign. The text in this duplicate document will be turned into gibberish. The test document is otherwise identical to the original and should give you a good feeling of how the licensed version of V-Justify works.


V-Justify InDesign Script Screenshot

User Guide

For help using V-Justify, please check out the product help page.


Many thanks to Marc Autret of for his help in developing the main algorithm powering this script.


To purchase the full version of V-Justify for only $99, 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 V-Justify for any reason, simply let us know within 30 days of purchase for a full refund.

“V-Justify gives me total control of vertical justification, but I especially love the way it reduces space if that's what's needed to balance the page!”

Buy Now

V-Justify: $99.00


System Requirements

  • InDesign CS5 or higher (including InDesign 2024)
  • Windows or Mac computer

InDesign Magazine Logo

5 star rating from InDesign MagazineKeith Gilbert reviewed V-Justify in the April 2021 edition of InDesign Magazine and gave it the top 5-star rating!

Article Comments

  1. Jonathan

    February 27, 2023 6:26 pm Reply

    This looks like a great script, but I have one question. If I use the script and then have to pass the file to someone else who doesn’t have the script, will that work? Will there be problems? (I’m a book designer and do contract work with some publishers and usually have to hand off the files at the end of a project. I’d love to use this script but I don’t want to create problems down the road.)

    • Ariel

      February 28, 2023 3:14 am Reply

      Hi Jonathan,
      The script modifies the space-before and space-after settings of specific paragraphs. But beyond that it leaves no traces, so you’re left with a completely normal InDesign file that you can pass on to someone.
      Of course, if they change the file in some way so that text reflows, they would need to rerun V-Justify to get things to align again. Without it, they would need to fix things up manually (as anyone without the script would need to do).

  2. Alicia Dole

    June 29, 2022 5:20 pm Reply

    This is an amazing script! It is going to save us tons of time.

    Question: Do the minimum/maximum values need to be entered for each document, or is it possible to set them up one time to affect all documents going forward?

    • Ariel

      July 1, 2022 4:52 pm Reply

      Hi Alicia,
      The min-max values become part of the paragraph style itself. So you can load those styles (either use the “Load Styles” feature, or just copy some text with those styles applied into the new document) from a different document and the values should travel together with the paragraph style.
      You can obviously also create a template document with the styles and their min-max values baked in.
      If the document is exported as .idml it could be that the min-max values are lost, that’s something to be aware of and check.

  3. profeivan

    January 14, 2022 6:00 am Reply

    What a wonderful tool! I think it’s a must have script (aside with Change Consecutive Paragraphs) this script saves hours of hard work.
    Una herramienta sensacional que hay que tener en el “arsenal” de scripts de InDesign para ahorrar horas de duro trabajo.

  4. Raphael Freeman

    February 11, 2021 10:05 am Reply

    This is a very interesting script. It would be nice if it supported the option of also increasing or decreasing the leading of a column to make it fit. So let’s say you have a box of two columns, would be cool if it could also say decrease the leading (or increase) to help with fitting. I tend to use the term carding for interparagraph spacing and feathering for adjusting the leading.

    • Ariel

      February 11, 2021 12:40 pm Reply

      Hi Raphael,
      V-Justify allows you to combine its functionality with InDesign’s vertical justification. So if you want variable leading (feathering), check the “Enable text-frame vertical justification”. This will make V-Justify do what it can first, according to the parameters you set for each paragraph style. It will then also enable InDesign’s vertical justification, so if some columns or pages don’t have enough built-in flexibility to reach the bottom of the frame (based on your allowed max numbers) InDesign will do the rest by feathering the lines. With the advantage that this will be disabled for chapter endings.

Leave a Comment