Convert Fixed Width Text to CSV Files

Batch Conversion of Fixed Width Text Files to/from CSV, XLS, XLSX. Fast, easy & accurate

Fast Software

'Convert XLS' is 10-20 times faster than using Excel. It also allows for the saving and restoring of complex 'conversion jobs'. Specify a 'conversion job' within the command line or Windows scheduler. 

'CONVERT TXT to CSV' — BATCH — 80x25
C:\>Working demo.bat files
   are installed for quick
   testing and customization.

C:\>text to csv converter.bat

C:\>See detailed examples of
converting text to csv by command line
at bottom of this page

Powerful Command Line

Command line capability is fundamental to ALL of our software tools. Demo batch files are installed ready for testing and modification. We are always here to help you implement our software.

Easy to use
File Conversion Features

Skipping files already converted while is no problem at all. Moving/deleting files already that! These features allow for easy, unattended conversion of whole folders. 

Convert TXT to CSV Files with 'Convert XLS'

'Convert XLS' Features

If you need to manipulate CSV, TXT, Excel file data, 'Convert XLS' comes with numerous features and specialized processes including:


Conversion Tool Extras
  • Convert up to 20 times faster when not using Excel.
  • Automate 'Convert XLS' using the command line or the COM/ActiveX interfaces.
  • Skip files already processed. Move or delete files after processing.
  • Save and restore complex conversion configurations.
  • Batch can be stopped midway and resumed at a later time.
  • Special processing of files including appending/concatenation, removing extra lines, search and replace strings and much more.
  • Can be adapted for all languages.
  • Launch (Run) a third party program

TXT Conversion

  • Conversion of Fixed Width Text Files
  • For each field/column specify:
    • Width
    • Padding character
    • Alignment
    • Re-order the columns to your specifications
    • Remove specific columns
  • Excel not needed making it lightning fast
  • Any number of 'fixed width profiles' can be specified for future use
  • Easily backup all your 'fixed width profiles'
  • Append text files together
  • In most cases it is possible to retain leading zeroes (e.g. 0000123213012)
  • Of course it is command line able

More info on specific Text file conversions

CSV Conversion

Conversion and Manipulation of CSV File Data

    Many CSV manipulation features are included:

  • Surround field with quotes
  • Pad field with spaces
  • Change the delimitation character (e.g. from comma to tab)
  • Remove Empty Lines
  • Created Fixed Width Fields
  • Include specified ROWS, discard all others
  • Include specified COLUMNS, discard all others
  • Trim excess commas
  • Pad field(s) to a fixed length
  • Remove control characters

More info on specific CSV file conversions

Special Promotion: Buy 'Convert XLS' and get 'Convert Doc', 'Convert Image' and 'Convert PowerPoint' free!

Need a Tool for Converting Text to CSV?

About 'Convert XLS'

Do you need software to convert Fixed Width Text to CSV? If the answer is yes, then we have just the tool you need. 'Convert XLS' has a built in fixed width profile editor allowing you to specify:

  • Column widths
  • [Optional] Character used to pad the data (when there is empty space)
  • [Optional] Left/right alignment
  • [Optional] Skip/remove a column from the output file
  • [Optional] Reorder the column positions in the output file

The editor makes it easy to create numerous unique fixed width text profiles that can be recalled for use, modified or backed up at your command. We store each profile in a simple text file for easy archiving, editing etc.

'Convert XLS' can convert Fixed Width Text Files to CSV (as well as XLS, XLSX, HTML, XML) extremely fast and it does not require any other software to be installed. Converting the other way, that is from CSV to a fixed width text file is also possible.

Note: We can handle HUGE file sizes (gigabytes) without a problem. Unicode and other text encodings (ASCII, ANSI, UTF8 etc.) are supported.

All our conversion tools allow you to automate the process by using:

You can even move or delete the input files after conversion. Skipping files already processed is another popular feature that is included.

'Convert XLS's complete documentation is available on-line for review. Continue reading below for specific instructions on how to use the user interface and command line for converting text to csv files. Please do download it and try it for free.

Fixed Width Profile Editor

convert txt to csv profile editor image

Converting TXT to CSV

  • Run 'Convert XLS' then select the Convert Files Action To Do.

  • Select the 'Convert XLS' conversion method.

    Select the input file path. For a whole folder be certain to use the *.ext format. For example if you want to convert the folder of TXT files located in "C:\source\" then use: "C:\source\*.TXT"

    Specify the Input File Format. In this case it may be: " (*.TXT)" or for Unicode "Text (Unicode), Fixed Width (*.TXT)"

    • (*.TXT) Text (ASCII), Fixed Width
    • (*.TXT) Text (Unicode), Fixed Width

    Click on the Options button and then the Converting to/from a Fixed Width Text File tab and specify each column width (and optionally other attributes) for the output text file.
    Also, within the Excel tab, for the input workbooks, you may choose the sheets, ranges and other options.

  • Specify the output file path. If you are doing a whole folder, then specify the whole folder using the "*.ext" format (for example "c:\output\*.CSV"). Finally, specify the "Convert To File Format" output file type, in this case it may be:

    • (*.CSV) Character Separated
    • (*.CSV) Character Separated Unicode
    • (*.CSV) Character Separated UTF-8
  • Click the CONVERT button (or F5) on the tool bar to start converting.

Repeating the use of a 'Conversion Job' with 'Convert XLS'

If you click the ADD button, a 'Conversion Item' is added to the 'task list' at the bottom of the user interface.  You can add as many 'conversion tasks' as you want, and save the 'Conversion Job' file for use at a later time.  See the File menu for saving and restoring 'Conversion Jobs'.
'Convert XLS' can be especially helpful if you require complicated file conversion jobs done regularly. By saving and recalling a conversion job file, 'Convert XLS' quickly remembers all the file conversion tasks and their details.

Note: The same 'conversion job' file discussed above can be ran by simply double clicking on it within Windows Explorer. It can also be specified in the command line by using the /J switch. For example:
ConvertXLS.exe /J"C:\Conversion Jobs\Convert txt to csv Command-Line.SII"

It's the best TXT to CSV conversion app you've never used... till today! Click here to download a free trial.

 Still not sure about the user interface? See an online video. Video

convert txt to csv command line

NOTE: After installation, you can find simple batch files (e.g. TXTtoCSV.bat) for quick and easy usage by going to Start\All Programs\Convert XLS\Example Batch Files. These will work immediately if the installation was done in the default folder.  if you have any questions or need additional examples. We will get you up and running fast!

For the full, accurate, and most recent information see the 'Convert XLS' command line documentation . If you have trouble running these examples see Helpful Hints For Creating a Command Line.

There are two approaches to using the command line:

  • Specify one or more conversion tasks in a 'Conversion Job'
  • Specify a single conversion task in detail

A 'Conversion Job' is easily built using the 'Convert XLS' graphical user interface. All the details of the job are saved in a single conversion job file (e.g. 'c:\myjobs\Do-Multi-Step-Conversion.SII). Specifying a conversion job file with the command line is very easy by using the /J switch. You can have hundreds or thousands of tasks specified in the conversion job file, all of which will get executed in one fell swoop. For example:

ConvertXLS.EXE /J"D:\Job Files\Convert text to csv.SII"

Specifying a single conversion task requires a bit more effort, but does not require the prior creation of a 'Conversion Job' file. Everything that follows below will be about creating a 'conversion task' to convert from TXT to CSV by command line.

The example shows how to convert from a fixed width text file to a character delimited CSV file. We also show how you can specify a range to convert a portion of the input text file.

Converting from a fixed width text file to anything can only be done with the ‘Convert XLS’ conversion method (/M2). 

The example below uses an 8 bit ANSI/ASCII text file for the input file. To convert Unicode text files, simply swap out /F21 with /F42 in the examples.

Each switch shown in blue is described in detail below the examples given. It is highly recommended you review each switches description before implementing the example, thereby giving you the full power of ‘Convert XLS’.

Example 1: Convert a Fixed Width Text File To CSV

First specify your fixed width text profile (column widths) using the Using the Fixed Width Text Profile Editor and name your profile MyColWidths. To convert a fixed width text file (c:\in\input.txt) to a comma delimited (ASCII value of 44) CSV file c:\out\out.csv using the MyColWidths profile the following syntax would be used:

ConvertXLS.EXE /S"C:\in\input.TXT" /T "C:\out\out.csv" /C6 /F21 /M2 /N"^^44^2^MyColWidths" /V

To convert to a tab delimited (ASCII value of 9) simply change the 44 to a 9 in these examples.  In fact you can use any character you want to delimit the output CSV file. 

Next we show how to convert a whole folder (and subfolders /R) of text files (C:\in\*.txt) to CSV files located in the same folder.  The following syntax would be used for such a case:

ConvertXLS.EXE /S"C:\in\*.TXT" /T "C:\in\*.CSV" /C6 /F21 /M2 /N"^^44^2^MyColWidths" /R  /V

The /G switch can be used to tell ‘Convert XLS’ to simply place each output file in the same folder as each input file. Therefore the command line above is equivalent to the command line below:

ConvertXLS.EXE /S"C:\in\*.TXT"  /G /C6  /F21 /M2 /N"^^44^2^MyColWidths" /R  /V

You may simply want to convert a whole folder and its subfolders and place the output into a separate folder/drive. In which case use this syntax:

ConvertXLS.EXE /S"C:\in\*.TXT"  /T "C:\Out\*.CSV"  /C6 /F21  /M2 /N"^^44^2^MyColWidths" /R  /V

Building on the last example, say you want to specify a range, say A1:B10 within a text file to convert. No problem, simply modify the /N switch as shown below:

ConvertXLS.EXE /S"C:\in\*.txt"  /T "C:\Out\*.csv"  /C6 /F21  /M2 /N"^A1:B10^44^2^MyColWidths" /R  /V

Specifying ranges can be very powerful.

Command line switches used to convert text to csv

  • The /S and /T switches above specify Source (input) and Target (output) path respectively and are both required when converting a single file. It is always a good idea to use double quotes around the path especially if there are space characters within the path.
  • The /C6 switch specifies that the target (output) file to be a ascii csv file whereas the /F21 switch specifies the input file is a fixed width text file. See Excel Conversion File Type Constants for all possible values for /C and /F.
  • The /M2 switch tells it to use the 'Convert XLS' conversion method which is exceptionally fast and allows for the specification of each columns width. /M1 switch is used to specify the 'MS Excel' conversion method which is a bit slower and requires MS Excel.
  • You must use /M2 in the usage shown here.
  • The /R switch tells it to search the input folder and its sub-folders for files to convert.
  • /G switch can be used to tell 'Convert XLS' to place each output file in the same folder as each input file.
  • /N"{Sheet^Range^DelimChar^FixedWidth^Profile}" Is used when converting to/from an Excel, CSV or fixed width text file. It specifies which Sheets to convert, what Range to convert and what delimitation/separation character to use, and the method to import export to a fixed width text file. The syntax for this parameter is critical, the items are separated by a carrot character "^". If you do not include Sheet, Range or DelimChar by leaving them blank they will default to all sheets, all used ranges and the comma delimitation character. Be certain to include the double quotation character around this parameter.

Sheet: Not useful in these examples. Use "*" or "" for all sheets. You can use names of sheets, or the numeric index. If using numeric indices, you can specify ranges of sheets (i.e. "1,4,10-20" and "4-10,9" etc.).

Range: You could optionally specify a range; say if you only wanted to convert a portion of the input file. Use the same syntax as an Excel range (e.g. A1:B10, B:B).

DelimChar: is for specifying the ASCII value of the delimitation character used in a CSV file. 44 for comma, 124 for Bar "|", 9 for the tab etc.

FixedWidth: 'Convert XLS' Conversion Method only (/M2). Here you can specify how to import/export a fixed width text file. The following numeric values are valid:

0 = Auto size column widths to fit all data (Default)

1 = Use same widths as specified in the Excel file

2 = Use widths specified by the Profile. Widths can be specified in the user interfaces Fixed Width Text Profile Editor.

Profile = If you are specifying a fixed width text profile to use do it with this parameter. Use the Fixed Width Text Profile Editor to generate a profile. The full path to the txt file could be used. As an example if you want to specify to convert sheets called 'Apples' and 'Oranges', and use the range "A2:B20" and a fixed width text file profile named MyFixedWidth you would do so like this:


  • The /V (for Verbose) switch is used to give instant feedback by having the program report the status of the conversion with a message box. You can remove this once you have perfected your command line specification. You can also (or instead of /V) create a Log file that will contain the results of the conversion by using the /L switch.

Note: It is highly encouraged that you use the Verbose (/V) switch initially to see what the status of your conversion is and to help you perfect your command line. When in verbose mode the program will tell you what went wrong or right with your command line using message boxes.