Powerful, Fast & Easy to Use: Convert Fixed Width Text File to CSV Command line Tool from Softinterface
ConvertXLS /S{Input File(s)} /T{Output File(s)} /F# /C# [/M#] [/R] . . . [/L{LogFile}]


Software customerAdobe

Adobe Systems Inc. Chooses 'Convert Doc'.  A custom site license has been signed by Adobe allowing them to install 'Convert Doc' on their servers.  They will be using it specifically to do Doc to HTML conversions. "We look forward to using your product and potentially working together in the future", Bob Free, Adobe

IBM Customer

Great customer service, prompt attention to our requirements and lightening speed development has been my experience with the staff at Softinterface Inc. Within a few hours of installing... Bruce King, IBM Canada, Toronto, Ontario

Click for the BBB Business Review of this Computers Hardware, Software & Services in Santa Monica CA


Command Line (Batch) Conversion of TXT (Fixed width or Fixed Length) to CSV without MS Excel

(Batch Conversion of Fixed Width Text Files to/from CSV, XLS, XLSX, HTML, XML etc.)

'Convert XLS'  Used to batch convert txt to csv files

In a hurry? The downloadable installation contains demonstration batch files (*.bat) which are working examples that can be customized to your requirements. After installation see the Start\Programs\Convert XLS\Example Batch Files.

Do you need a command line software tool to convert TXT to a CSV (or CSV to TXT)? If so, we got just the software you need. 'Convert XLS' can batch convert CSV to TXT without using MS Excel making it extremely fast. You can specify the delimitation character used in your CSV file, which is most commonly the comma. Furthermore, Unicode and other text encodings (ASCII, ANSI, UTF8 etc.) are supported.

Again, our tool does not rely on MS Excel, although you can optionally specify to use it. Something to keep in mind for the security conscious.

'Convert XLS" enables you to automate bulk TXT to CSV conversion by using the built in scheduler, command line (batch files, command prompt etc.), or for you programmers a COM/ActiveX interface. You can even move or delete the input files after processing. Automatically converting whole folders and sub-folders is a snap!

Download 'Convert XLS' for command line conversion of txt to csv

Office 2013 Compatible!

Convert TXT to CSV Command Line 

Command Line Examples: Conversion of Fixed Width Text To CSV

NOTE: 'Convert XLS' can be used simply with the graphical user interface (GUI).  If you've never heard of 'Command Line' before, we would recommend not reading this section and instead download and try the software.

This is just a sample from the documentation.   If you have trouble running these examples please see Helpful Hints For Creating a Command Line within the documentation.

The first example shows how to convert from a fixed width text fileFixed_Width_Text_File_Defined to a character delimited CSVCSV_File_Definition 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). 

All the examples below use an 8 bit ANSI/ASCII text file for the Original/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 EditorUsing_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 (ASCIIASCII_Chart 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 (ASCIIASCII_Chart 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.

          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 CSV file whereas the /F21 switch specifies the original (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 these examples.

          The /R switch tells it to search the original folder and its subfolders 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).  Once converted to an XLS file, you could then use special process 101 to move the data to any cell range.

DelimChar: Not useful in these examples. It 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 MyColWidths 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.