Text Reposition Tool

Reorder delimited text using custom position formats like [2][1][3]

Options

Use [1] [2] [3] format

Separator character

How to Use

1
Input Your Data

Paste delimited text or upload a file. Each line should have the same delimiter.

2
Configure Format

Specify position format (e.g., [2][1][3]) and delimiter (e.g., |). Uses 1-based indexing.

3
Process

Click Reposition Text. Large files are processed in 4MB chunks with progress tracking.

4
Export Results

Download the repositioned text. Preview shows first 10,000 lines for performance.

When Your Columns Are in the Wrong Order

You received a data export. The columns are there, but they're in the wrong order for your import system. Or maybe you need to extract specific fields while dropping others. Or the delimiter needs to change from commas to tabs.

Spreadsheet software handles this—for small files. But when you're dealing with hundreds of thousands of rows, Excel starts crawling or crashes entirely. Command-line tools like awk and cut work but require syntax most people don't know.

We built this reposition tool to bridge that gap. It handles massive files, uses intuitive template syntax, and runs entirely in your browser. No uploads, no software installation, no learning curve.

How to Rearrange Your Data

The workflow is straightforward:

  1. Paste your data or upload a delimited file
  2. Set the input delimiter (comma, tab, pipe, or custom)
  3. Write your position template using [1], [2], [3] notation
  4. Click process and download your restructured data

Position Template Syntax

Templates are the core of this tool. Here's how they work:

Basic Column References

  • [1] — First column
  • [2] — Second column
  • [10] — Tenth column
  • [1][2][3] — First three columns in order (concatenated)

Reordering Columns

Change column order by rearranging position numbers:

  • [3][1][2] — Third column first, then first, then second
  • [5][4][3][2][1] — Reverse order of first five columns
  • [2][1] — Swap first two columns

Adding Separators and Text

Insert literal characters between columns:

  • [1],[2],[3] — Comma-separated output
  • [1]|[2]|[3] — Pipe-separated output
  • [1]\t[2]\t[3] — Tab-separated output
  • [1]:[2]@[3] — Custom format like email:password@domain

Duplicating and Dropping

  • [1][2][1] — Duplicate first column at the end
  • [1][3] — Keep only columns 1 and 3, drop column 2
  • [3] — Extract only the third column

Real-World Use Cases

Preparing Data for Import

Your target system expects columns in a specific order. Your source data has them differently arranged. Rather than manually editing in a spreadsheet, define a template once and transform the entire file instantly.

Example: Source has Name, Email, Phone. Target needs Email, Phone, Name. Template: [2],[3],[1]

Extracting Specific Fields

Your export contains 20 columns but you only need 3. Instead of manually deleting columns, specify just the ones you want:

Example: From a 15-column export, grab just ID, Status, and Date. Template: [1],[7],[12]

Changing Delimiters

Convert between formats without changing column order:

  • CSV to TSV: Input delimiter: comma. Template: [1]\t[2]\t[3]\t[4]
  • Pipe to comma: Input delimiter: pipe. Template: [1],[2],[3],[4]
  • Custom format: Input delimiter: colon. Template: [1]|[2]|[3]

Creating Credential Formats

Data validation tools often expect specific formats like email:password or user@domain:pass. Transform your data to match:

Example: Source has Email (col 1), Password (col 2), Domain (col 3). Target format needs user@domain:password. This requires combining columns creatively: [1]:[2] gives you email:password format.

Handling Edge Cases

Rows with Inconsistent Column Counts

Real data is messy. Some rows might have missing values. Our tool handles this gracefully—referencing a non-existent column produces an empty string rather than an error. Your processing continues smoothly.

Quoted Fields in CSV

Standard CSV files use quotes to wrap fields containing commas. Our parser recognizes this format. A field like "Smith, John" stays intact as column 1, not split into two columns.

Combining with Other Tools

Data transformation rarely happens in isolation. Here's how this tool fits into larger workflows:

  • Pre-processing: Use Remove Duplicate Lines to clean data before restructuring
  • Filtering: Apply List Filter to select only rows you need, then reposition columns
  • Extraction: After repositioning, use Email Filter to pull out email addresses from specific columns

Performance and Privacy

Everything runs in your browser. We don't upload your data anywhere. This means:

  • Your sensitive data stays on your machine
  • No file size limits imposed by server uploads
  • Processing speed depends on your hardware, not internet connection
  • Works offline after initial page load

We've tested this tool with files containing millions of rows. Modern browsers handle the processing surprisingly well. Keep the tab in focus for optimal performance.

Frequently Asked Questions

How do position templates work?

Position templates use bracket notation to specify column order. [1] represents the first column, [2] the second, and so on. Write [3][1][2] to rearrange columns into third-first-second order. You can also add literal text between brackets, like [1]:[2] to insert a colon separator.

Can I use different delimiters for input and output?

Yes. Set your input delimiter to match your source data (comma, tab, pipe, etc.), then define your output format in the template. For example, convert comma-separated to tab-separated by using tab characters between position references.

What happens if a row has fewer columns than my template references?

Missing columns output as empty values. If your template references [5] but a row only has 3 columns, that position produces nothing. This lets you process files with inconsistent column counts without errors.

Can I duplicate a column in the output?

Absolutely. Use the same position reference multiple times. [1][2][1] puts the first column at both the beginning and end of your output. This is useful for creating lookup keys or validation columns.

How do I skip or remove columns?

Simply don't include them in your template. If your data has 5 columns and your template is [1][3][5], columns 2 and 4 are dropped from the output entirely.

Related Tools You Might Find Useful

Rearrange Data Columns - Custom Field Ordering Tool | Mooflair Tools