On-device AI — professional-grade, fully private.

Text Padding Formatter

Pad text to an exact width — emoji and CJK stay aligned.

  • Runs on your device
  • Emoji and CJK line up
  • One file free · 100 with Pro

Drop a text file here

Up to 10.0 MB · .txt · .md · .markdown · .log · .csv

What to align
Try:
Padding settings
Padding side
Padding side

Where the padding goes. Both splits it evenly, with the odd character on the right.

How much
How much

Pad up to a width, or add the same amount to every line.

Target width
20

Up to 120 for this text and these settings.

Pad character

One character, or several repeated in order. Leave empty for a space.

Measure width in
Measure width in

Columns is what a monospace font lays out — the right choice for alignment.

Never splits an emoji or an accented character.

-7 becomes -007 rather than 00-7. Left padding only.

Options that change how each line is measured and cut.

Output
Pro

Free: 1 file up to 10.0 MB. Pro: 100 files, one ZIP.

Why use text padding?

Line up a list so the second column starts in the same place on every row, pad numeric-looking columns with zeros, or add leading spaces before pasting into a terminal or a code block — without opening a desktop editor and without uploading anything.

Benefits

  • Per line: newline-separated rows are padded independently, and each keeps its own line ending.
  • Target width: fill up to a column width only where lines are short.
  • Any pad token: one character, or several repeated in order — space, 0, dot, dash, an arrow.
  • Correct width: emoji, Chinese, Japanese, Korean and Thai are measured by the space they occupy.
  • Live preview: output and a guide line at the target column track every change.
  • Free, no install: it runs in the page, works offline once loaded, and works on mobile.

How it works

The tool splits your text into lines, measures each one, works out how much padding it needs from your settings, and rejoins the lines with the endings they arrived with. Everything happens on your device, off the main thread, so a large file never freezes the page.

Features

  • Left / right / both: padding before the line, after it, or split evenly around it.
  • Target width or fixed count: two clearly separate settings, so choosing one never switches off the other.
  • Auto width: take the target from the longest line in the text with one click.
  • Truncate: cut lines that overshoot the target, with an optional ellipsis, never splitting a character.
  • Numeric: put the padding after a leading sign, so -7 becomes -007 instead of 00-7.
  • Copy, download, ZIP: one click for the result, a file, or a whole batch as one archive.

Padding strategy comparison

  • Target width: adaptive padding that brings uneven lines to one width. The right choice for alignment.
  • Fixed count: the same number of pad characters on every line, whatever its length. The right choice for indenting.
  • Auto width: target width, with the width read from the longest line so nothing is truncated or left short.

Aligning columns, not just lines

  • Switch the scope to Columns and each field is padded to its own column's widest cell, so a delimited list becomes a table.
  • Delimiters: tab, comma, semicolon, pipe, runs of spaces, or your own string.
  • A comma, semicolon or pipe is kept in the output, so an aligned CSV is still a CSV.
  • Tabs and spaces are replaced by the alignment itself — a tab left in the output would jump to the next tab stop and undo the work.
  • The last column is not padded when the padding would land at the end of the line, so no row picks up trailing whitespace.

Width is not the same as character count

This is the one thing almost every padding tool gets wrong, and it is why text that looked aligned in one tool arrives ragged somewhere else. A string's length in a program is a count of storage units, not of the space the text takes up. An emoji is usually stored as two units and drawn two columns wide. A Chinese character is stored as one unit and drawn two columns wide. An accented letter can be stored as two units and drawn one column wide. Padding to a length therefore misses by a different amount for every script on the page.

The three width metrics

  • Columns (default): the space the text occupies in a monospace font, the way a terminal counts it. Wide characters count two, combining marks count none, and a tab advances to the next multiple of eight. Use this whenever the result will be read in a fixed-width font.
  • Characters: what a reader would call a character. A flag, a family emoji with joiners, and a letter with an accent each count as exactly one. Use this for a fixed character count in a caption or a form.
  • Code points: Unicode scalar values. Use this when a fixed-record data format specifies its field widths in code points.

Visual width caveats

  • Column width is a monospace convention. In a proportional font no padding tool can align anything, because the characters themselves are different widths.
  • A few characters are formally ambiguous in width and are treated as narrow, which is what terminals default to; a terminal set to wide ambiguous characters will show them a column wider.
  • Fonts differ in which emoji they draw at double width. Check the alignment in the app you are pasting into, not only in the preview here.
  • A line that starts with a combining mark will attach that mark to the last pad character, because that is what the text then is. Trim first if you did not intend it.

When to use

Anywhere a fixed-width layout has to hold in plain text: a table in a README, a comment block, a log prefix, a fixed-record file, or a list you are about to paste into a chat that renders monospace.

Ideal use cases

  • Tables in plain text: align a tab- or comma-separated list into readable columns for a README or a ticket.
  • Zero-padded numbers: fixed-width identifiers and codes, with the sign kept in front where it belongs.
  • Bulk indenting: left-pad with spaces to nest a block under something else.
  • Banners and headers: centre short labels inside a fixed width with a repeating pad token.
  • Mixed-script lists: place names, menu items or product names in two languages that have to line up.
  • Drafting: work out the widths here before writing the script that will do it every day.

Facts

Exactly what the tool does, so nothing about the output is a surprise.

Key points

  • Target width and fixed pad count are separate settings you choose between, not two controls that overwrite each other.
  • Lines already at or past the target get no extra padding; turn on truncation if you want them cut instead.
  • Windows (CRLF), Unix (LF) and classic Mac (CR) endings are each preserved per line, so a mixed file is not normalised.
  • A file that ends with a newline still ends with one, and gains no extra line of padding.
  • Multi-character pad tokens repeat in order from the start of each pad run, and a remainder a wide token cannot fill is completed with a space.
  • Plain text only — this produces aligned text, not an HTML table or a spreadsheet.

Best practices

Four habits that keep padded output correct once it leaves this page.

Quality considerations

  • Check the result in the font it will actually be read in — alignment is a monospace property.
  • Turn on trim when the source has ragged leading or trailing spaces, so the widths are measured from the real content.
  • For strict numeric fields, confirm the target system's own formatting rules; a padded number is still text.
  • Keep the original if the padding would be hard to undo — trailing spaces in particular are easy to lose.
  • For right-to-left scripts, check the layout in the destination app: the padding is placed correctly, but the display order is the app's decision.

When not to use

  • When you need a real HTML table, proper CSV quoting, or a spreadsheet — padding is presentation, not structure.
  • When the text will be shown in a proportional font, where no amount of padding aligns anything.
  • When the job runs every day and should be a script; use this to work out the widths, then automate it.

Limitations and compatibility

Free covers one file at a time up to 10 MB, and every option that decides whether the padding is correct — all three width metrics, column alignment, truncation, numeric padding and the full pad token. Pro adds batches of up to 100 files delivered as one ZIP, and raises the ceiling to what your device can handle rather than to a larger fixed number. Accepted files are .txt, .md, .log, .csv, .tsv and .dat; anything else is refused at the file picker with a link to the tool that does open it. The padded result is capped so a target width can never produce more text than your device can hold, and the width control stops exactly where that ceiling starts.

  • Nothing is uploaded. Padding runs on your device and works offline once the page has loaded.
  • Lines are split on CRLF, LF and CR. Unicode line and paragraph separators pass through as ordinary characters rather than starting a new line.
  • A tab counts as an advance to the next multiple of eight columns, which is the terminal default.
  • Requires JavaScript.

Padding runs on your device. A 10 MB file is padded in under a second and nothing is uploaded at any point.

Frequently asked questions

How does the text padding tool work?

Paste one or many lines and the tool pads each line independently. Choose left, right, or both-sides mode, pick a pad character, and set either a target line width or a fixed pad count. The preview updates with a guide line at the target column, and you can copy, download, or save a batch as one ZIP.

What is target line width, and how does it differ from pad length?

Target width adds only enough padding for each line to reach that width, and only when the line is shorter. Fixed pad count adds the same number of pad characters to every line regardless of how long it already is. They are two settings you pick between, so changing one never silently switches off the other. Lines already wider than the target get no extra padding unless you turn on truncation.

Can I pad with zeros, spaces, or other symbols?

Yes. Enter any character in the pad field - a space (the default), 0 for zero-padding numbers, or a symbol like a dot or dash. You can enter several characters and they are repeated in order, so "ab" pads as ababa. Emoji and other characters made of several code points stay whole rather than being cut in half.

Why do my emoji and Chinese lines still look uneven in other tools?

Because almost every padding tool counts a string's internal storage units instead of the space it occupies. An emoji counts as two, so it gets two characters too few; a Chinese character counts as one but occupies two columns, so it gets one too many. This tool measures terminal display columns by default, which is what a monospace font actually lays out, so those lines land on the same column as your Latin ones.

Which width should I measure in - columns, characters, or code points?

Columns is right when the text will be read in a monospace font: a terminal, a code editor, a log, a fenced code block. Characters counts what a reader would call a character, which is right for a fixed character count in a form or a caption. Code points counts Unicode scalar values, which is what a fixed-record data format usually specifies. Columns is the default because alignment is the most common reason to pad.

How does both-sides padding work?

In both mode the padding is split between the two sides: half goes on the left and half on the right, and if the amount is odd the extra character goes on the right. With a target width this centres each shorter line inside that width, which is what you want for banners, headers and mock columns.

Can it align columns in a tab- or comma-separated list?

Yes. Switch the scope to Columns and pick your delimiter - tab, comma, semicolon, pipe, runs of spaces, or your own. Each column is padded to its own widest cell, so the table lines up. A comma or pipe delimiter is kept in the output so a CSV stays a CSV; tabs and spaces are replaced by the alignment itself, because a tab in the output would jump to the next tab stop and undo the work.

Does it keep Windows line endings and the final newline?

Yes to both, and they are worth checking in any other tool you try. Each line keeps the exact ending it arrived with, so a Windows file stays a Windows file and a mixed file is not silently normalised. A file that ends with a newline still ends with one, and does not gain an extra line of pure padding at the end.

What do the trim, skip-empty, truncate and numeric options do?

Trim removes leading and trailing spaces before the width is measured, so stray whitespace does not eat into the padding. Skip empty leaves blank lines completely untouched. Truncate cuts lines that are longer than the target instead of leaving them to overhang, optionally ending them with an ellipsis, and it never splits an emoji or an accented character in half. Numeric puts the padding after a leading minus or plus sign, so -7 becomes -007 rather than 00-7.

Is the text padding tool free and private?

Yes to both. Padding runs entirely on your device and nothing is uploaded, so it also works offline once the page has loaded and it works on mobile. Free covers one file up to 10 MB at a time and every option that decides whether the padding is correct. Pro adds batches of up to 100 files delivered as a single ZIP and lifts the ceiling to what your device can handle.

4.7out of 5

from 1,424 ratings

Rate this tool

Tap a star — it takes a second