How to Pad a String in Java

Padding strings with spaces or a specific character is a common text output requirement. This is required when you want to generate a fixed format output even when the size of the data displayed  are different. However there are no built-in Java functions for String padding. Using a third party library just for string padding is overkill!

The following Java program contains custom functions for right padding and left padding a string with a specific character. Run the program to see padding in action!

Code Example: How to Pad a String in Java

// Demo: How to right pad or left pad Strings in Java
public class PaddingDemo {

    public static void main(String[] args) {
        String input1 = "Hello World!";
        String input2 = "Hi There!";

        String output1 = padRight(input1,20,'*');
        String output2 = padRight(input2,20,'*');
        
        System.out.println(output1);
        System.out.println(output2);

        output1 = padLeft(input1,20,'*');
        output2 = padLeft(input2,20,'*');
        
        System.out.println(output1);
        System.out.println(output2);
    }
    
    // Right pad a string with the specified character
    public static String padRight(String s, int size,char pad) {
        StringBuilder builder = new StringBuilder(s);
        while(builder.length()<size) {
            builder.append(pad);
        }
        return builder.toString();
    }
    
    // Left pad a string with the specified character
    public static String padLeft(String s, int size,char pad) {
        StringBuilder builder = new StringBuilder(s);
        builder = builder.reverse(); // reverse initial string
        while(builder.length()<size) {
            builder.append(pad); // append at end
        }
        return builder.reverse().toString(); // reverse again!
    }
}

The output generated is,

Hello World!********
Hi There!***********
********Hello World!
***********Hi There!