diff --git a/pkg/kubecfg/param.go b/pkg/kubecfg/param.go
index bb80d975207fc3559e55ec1a4fedd455990db9f0..dc817c4e0b7c83c2fe66abb68420c4b254bee3ce 100644
--- a/pkg/kubecfg/param.go
+++ b/pkg/kubecfg/param.go
@@ -247,6 +247,11 @@ type paramDiffRecord struct {
 
 // Run executes the diffing of environment params.
 func (c *ParamDiffCmd) Run(out io.Writer) error {
+	const (
+		componentHeader = "COMPONENT"
+		paramHeader     = "PARAM"
+	)
+
 	manager, err := manager()
 	if err != nil {
 		return err
@@ -276,36 +281,45 @@ func (c *ParamDiffCmd) Run(out io.Writer) error {
 
 	componentNames := collectComponents(params1, params2)
 
-	var rows [][]string
+	rows := [][]string{
+		[]string{componentHeader, paramHeader, c.env1, c.env2},
+		[]string{
+			strings.Repeat("=", len(componentHeader)),
+			strings.Repeat("=", len(paramHeader)),
+			strings.Repeat("=", len(c.env1)),
+			strings.Repeat("=", len(c.env2))},
+	}
+
 	for _, componentName := range componentNames {
 		paramNames := collectParams(params1[componentName], params2[componentName])
 
 		for _, paramName := range paramNames {
 			var v1, v2 string
-			var ok bool
-			var p param.Params
 
-			if p, ok = params1[componentName]; ok {
+			if p, ok := params1[componentName]; ok {
 				v1 = p[paramName]
 			}
 
-			if p, ok = params2[componentName]; ok {
+			if p, ok := params2[componentName]; ok {
 				v2 = p[paramName]
 			}
 
-			row := []string{
+			rows = append(rows, []string{
 				componentName,
 				paramName,
 				v1,
 				v2,
-			}
-
-			rows = append(rows, row)
+			})
 		}
 	}
 
-	printTable([]string{"COMPONENT", "PARAM", c.env1, c.env2}, rows)
-	return nil
+	formatted, err := str.PadRows(rows)
+	if err != nil {
+		return err
+	}
+
+	_, err = fmt.Fprint(out, formatted)
+	return err
 }
 
 func collectComponents(param1, param2 map[string]param.Params) []string {