Restoring SMS Backup from CSV to Blackberry devices
The tool in this article, CSV2IPD, reads text messages from CSV files and generates an IPD file that can be imported to Blackberry devices by Blackberry Desktop Software for devices running Blackberry OS 7 and older, or Blackberry Link for devices running Blackberry OS 10.
UPDATE (8 October 2014): I received a few comments from several readers stating that, although Blackberry Link recognized the IPD file as a legacy backup file and seemed to restore the messages successfully, no messages actually appeared on the device.
At first I suspected issues with the IPD file format generated by the CSV2IPD tool or some settings on the devices which delete old message, which turned out not to be the case.
After further research I found a hint here which pointed to a KB article by RIM describing the issue, KB34963 (SMS text messages from a BlackBerry smartphone running BlackBerry Device Software 4.5 to 5.0 or BlackBerry 6 to 7.1 are not migrated to the BlackBerry 10 smartphone). Although the English KB article has since been removed, I managed to locate a French version of the article, cached by Google. After reading the French KB, it seems that the problem is due to a Blackberry Link bug which results in all text messages not restored if an area code is not set on the OS 10 device. The solution to this is to set an area code, even if you do not use one, using the following steps:
1. On the Home screen, tap the Phone icon.
2. Slide your finger from top to bottom of the screen.
3. Select Settings > Smart Dialing.
4. Enter a three-digit area code (e.g. 214).
5. Select the Back button to save the changes.
With the area code set, the restore of the text messages should be successful and all messages in the IPD file should appear on the device. If you have a lot of messages, it may take a few minutes for the text messages application to update the message list – so be patient.
If the area code does not appear to be saved, select a country (e.g. United States) that is known to have different area codes for different cities. Blackberry OS 10 devices keep a list of countries that do not have area codes (e.g. Singapore) and will not save the area code settings if a country in the list is selected. After the SMS restore is completed, you can always set back the correct values.
With this workaround, all text messages from the IPD file generated by the CSV2IPD tool (and from the official Blackberry Desktop Software application) will be restored successfully on to the device. The format of the generated IPD file remains unchanged and compatible with Blackberry Desktop Software and other IPD utilities.
Take note that this issue only affects text messages restored from an IPD backup file while messages from a BBB backup file (newer format supported by Blackberry Link) are not affected. Hence the above workaround will not be necessary to restore messages from a backup file created by Blackberry Link, which is in the new BBB format, or for users using Blackberry OS 7 or older.
Downloads
CSV2IPD
Requires .NET Framework 3.5, which will be automatically installed on Windows 7 and above. If you are using Windows XP, you can download it here.
Change history
- 8 Feb 2015: Fix a bug where CSV2IPD would sometimes fail to generate the IPD file due to folder location issues. Fix some library issues and CSV2IPD now requires .NET framework 3.5 to run properly. Also apply some minor UI changes with better wording to make it easier to understand.
- 24 Mar 2012: Add text fields to allow users to specify a custom date format to be used for conversion. The format must be useable by .NET’s DateTime.ParseExact function, refer to this for details.
- 20 Jan 2012: Better support for Unicode characters. Sample CSV files with Unicode messages in various languages are included in the download. CSV2IPD will also report the number of successfully imported messages at the end of the conversion, not just the number of invalid records.
- 18 Nov 2011: Use .NET DateTime class instead VB6 CDate function to parse date strings (which may fail on non-English systems). Also added a log file (CSV2IPD.log) that can be used for debugging.
- 7 May 2011: Following a request from a reader, the program has been updated to handle CSV more robustly, supporting multi-line messages and messages having semicolons. It also reports the number of invalid records in the CSV file after the conversions. The source code and binary files have been updated.
- 1 Oct 2010: First release
Background
Following my previous post on a Windows Mobile tool called SMS2IPD that would run on a Windows Mobile device and creates and IPD backup of all the SMS that can be restored to a Blackberry device via Blackberry Desktop Manager, a German reader contacted me asking how he could do the same for his Nokia phone.
Being no Symbian expert who could write a similiar tool running on Symbian phone, I advised him to use Nokia PC Suite to create a CSV backup of all his SMS. After that, I have written a tool that will generate an IPD backup from the CSV files.
The tool, CSV2IPD
The program, called CSV2IPD, accepts 2 CSV input files for Incoming SMS and Outgoing SMS, as demonstrated in the following screenshot:
The CSV for Inbox looks like:
sms;deliver;"+987654321";"";"";"2010.08.25 15:14";"";"Message 1"
sms;deliver;"+123456789";"";"";"2010.08.25 15:15";"";"Message 2"
sms;deliver;"+111111111";"";"";"2010.08.25 15:17";"";"Message 3"
The CSV for Sent Items looks like:
sms;submit;"";"+0123456789";"";"2010.08.25 15:15";"";"Hello world 1."
sms;submit;"";"+0123456789";"";"2010.08.25 15:16";"";"Hello world 2."
sms;submit;"";"+0123456789";"";"2010.08.25 15:17";"";"Hello world 3."
If your exported CSV file via Nokia PC Suite does not look exactly as above, you can use a text editor tool such as Notepad++ then use Find/Replace, perhaps with the help of regular expressions, to modify it. Make sure you do not have extra quotation marks at the beginning and the end of each line. If the delimiter is comma and not semicolon, use CSVEd to change it.
Finally, if your time column is in a different format, try to change the Date Format string. The format should follow the date/time format used by .NET framework. Refer to this article for details on the specifications.
Take note that the generated IPD file has only been tested on Windows and may not work on the Mac version of Blackberry Desktop Software due to file format differences. Unicode text messages are supported, just make sure that your CSV files are saved using UTF8 encoding. As always, remember to backup all data on your phone prior to proceeding.
For those who are interested, MagicBerry is a good utility to explore, split, merge or extract information from the IPD backup file. ipddump is an open-source Java-based tool that can also do the same for IPD files. To extract data from the newer BBB file format generated by Blackberry Link, you will need a paid tool such as Blackberry Backup Extractor.
- no, there was no errors
- 1525 lines in incoming.csv and 449 in outgoing.csv; 1974 in total but notifaction says: http://prntscr.com/465sc5 (something's missing)
- no, I used Blackberry Link for Windows; BB10 is not supported by Blackberry Desktop Software
Hi Szymon,
There may have been messages with multiple lines inside the CSV files, hence the number of lines and the total messages processed may not tally. As long as CSV2IPD does not report any errors, it means the CSV files were processed successfully. You can check CSV2IPD.log file to see if there are any errors.
Try to backup your Z10 device's current messages onto an IPD file and import it back just to see if the import features by Blackberry Link for Windows works. Also check if the device has an option called "remove messages older than 30 days" or similar – that may cause the problem as most imported messages will be classified as old and removed.
meanwhile I will try to get hold of a Blackberry 10 device and test to see for myself if the generated IPD file can be accepted.
I can send you my IPD file for test
Thanks, you can email me at
m d a n h 2 0 0 2 at gmail.com
(remove the space)
Hi MD,
I need some help, please. I exported all the sms messages to a .csv file and then had to edit hundreds of sms messages that had the line feed and carriage return (enter/multiple lines). Once all that was sorted, I sorted all the messages into sent and received items. Finally, I split them into 2 files for incoming (deliver) and outgoing (submit) sms messages.
Using CSV2IPD, I was able to create the ipd file successfully, the application converted around 2.5k sms messages successfully and dropped about 4 messages. Finally I restored those messages to my Black Berry Q10 using Black Berry Link. The restore is successful however not a single message is restored.
Any ideas what could be the problem?
Hi Ashar,
Thanks for attempting the tool and thanks for your feedback about using the csv2ipd tool on BB 10. I also received other similar comments which stated that although Blackberry 10 is able to import the ipd file provided by the tool, no messages actually appear on the device. It seems that there are some incompatibility issues with the produced IPD file format with Blackberry 10. I am still trying to acquire a BB 10 device for testing and I will update the tool to use the correct file format to make it compatible with BB 10. I will update the article when that is completed so that you can try again
Thanks MD. Your support on the matter is much appreciated, and I am sure I speak for all who have benefited from your conversion tool. Although, it is sad that good Samaritans like yourself have to dedicate time and resources to provide solutions that should technically come from OEM's, in this case Black Berry.
I will keep a lookout for any solution that you can come up with. Please let me know if I can be of any assistance.
Hi Ashar,
Thanks for the motivating words Will try my best to improve the tool to make it work with BB10 and keep you updated on the progress
Hi,
I found a solution to the problem. Apparently it's not the file format but rather a bug with the Blackberry Link software (acknowledged by RIM in KB34963) which causes the app to fail to restore all text messages if an area code is not set in the Smart Dialing settings of the Phone application. I have updated the article to describe this issue and provide the steps to set the area code. You can set an area code using the steps provided and try the restore again – it should be successful.
Let me know if you manage to restore the text messages.
Hi Szymon,
I have found the issue, which is apparently not the file format but rather an issue with Blackberry Link which will cause it to fail to restore text messages from an IPD file if no area code is set in the Smart Dialing settings of the phone. I have updated the article describing this issue and the steps to set the area code. You can try this work around and let me know if it works.
Hi, MD.
May be I did something wrong, but all choices (submit or deliver) after restore show as received (deliver). I tried to wipe phone (new phone, and that operation is not critical). And make ipd with one message "submit" – after upload just the same – show as received.
With Best regards, Roman
Hi Roman,
What is the model of the Blackberry device that you are using? Can you also send me a sample of one of the lines in your CSV files (inbox/sent items)? I can help to check.
The first few words (e.g. sms;deliver;) of the line will define if the message is sent or delivered. If it's not recognized (for example, when the line contains extra white space or due to case mismatch), the app will default to Delivered (Inbox message) by default. You can try with the sample CSV files (bundled in the download) and see if the same issues still persist.
You can also use Magicberry (http://download.cnet.com/MagicBerry/3000-10743_4-10962130.html or http://menastep.com/pages/magicberry.php) to check if the generated IPD file contains the correct type of messages.
Let me know if this helps.
Hi, MD.
My model is Z30 (10.2.1.3062 OS version)
My first attempt (from step-by-step guide) looks like:
"sms";"deliver";"ELDORADO.RU";"";"";"2014.02.01 10:00";"";"HELLO1"
"sms";"submit";"+Eldorado";"";"";"2014.03.01 10:00";"";"HELLO2"
as I thought – I must get 2 messages 1 to Received from Eldorado.in with HELLO1 and 1 to Sent to +Eldorado with HELLO2.
But in result I got 2 messages in received, one from number "3" instead "ELDORADO.RU", one from number "+7 3536723678 instead +Eldorado
Another attempt – try to do copy from your example:
"sms";"deliver";"ELDORADO.RU";"";"";"2014.02.01 10:00";"";"HELLO1"
"sms";"submit";"";"+Eldorado";"";"2014.03.01 10:00";"";"HELLO2"
with the same result (both messages in Received with bad numbers)
Also I tried MagicBerry – it shows both messages in Received with right sender number (ELDORADO.RU / +Eldorado). But conversion to bbb format failed (Error in Conversion).
I didn't see programm code yet. But my results gave me some conclusions: 1. receiver/sender number crashing BB Link when restore ipd. 2. But switch Inbox/Sent depends on utility. 3. I do something wrong.
With Best regard, Roman
Hi Roman,
Thanks for helping to test and feedback!
I just tried the latest version of MagicBerry v3.5 (downloadable from http://menastep.com) and noticed that the Sender/Recipient field are not displayed properly (weird Unicode characters are displayed instead) in the message tree for the SMS messages from the IPD file. However, when clicking the message entry for details, the message direction (Inbox/Sent items), body text, phone number and date time are all displayed properly.
I think this may be a problem with the latest version of MagicBerry. Can you try with MagicBerry 3.0 (downloadable from https://code.google.com/p/magicberry/) and see if you can view all the messages properly?
For the issue of +Eldorado becoming +7 3536723678 when importing the IPD file, it is because the tool currently does not support String as the sender number (which may be valid for SMS originating from unknown number, etc advertisement SMS). You'll need to input a valid number in these fields (e.g +712345678) instead and try again.
I am not sure why all your messages would appear as Received in the IPD file. I tried with the exact text you provided and they work just fine. Take note that you'll need to create 2 CSV files, 1 for Inbox and 1 for Sent items, with the Inbox file containing only lines beginning with "sms";"deliver" whereas the Sent item files containing only lines beginning with "sms";"submit", and specify them correctly in the fields for "Incoming SMS CSV" and "Outgoing SMS CSV". These lines cannot be in the same file. If it still doesn't work you can send me the CSV files and I will have a look.
I also tested importing the generated IPD file to my BB 10 in Legacy mode via BB Link and it worked fine – without the need to convert to BBB format using MagicBerry.
Let me know how it goes.
Thanks
MD
Hi, MD. I tried uninstall MagicBerry 3.5 and instll 3.0 instead. In 3.0 Number copy to subject in tree right (I check rectangle in screenshot). And old tries (i.e. +Eldorado) shows right too. Well as you said – I start another 2 test (inc.csv with just incoming and out.csv with just sent) with numbers only (without string as sender). inc.csv: "sms";"deliver";"+123";"";"";"2014.02.01 10:00";"";"HELLO1" out.csv: "sms";"submit";"";"+456";"";"2014.03.01 10:00";"";"HELLO2" with utility I got INC.ipd and OUT.ipd, MagicBerry screens (green rectangle – strange thing as i think) And when i tried to restore 2 files – all messages was in inbox (as received). i.e +456 and +123 I see as Received. all files I add to archieve with link: https://yadi.sk/d/J-stnhbndsufj
thanks for feedback
With Best regards, Roman
Hi Roman,
I checked the file you attached in the download and indeed in both inc.ipd and out.ipd all the SMS appear as received. This is very strange. Can you clarify how you created 2 IPD files from the 2 CSV files? The CSV2IPD tool is designed to create 1 single IPD file from 2 CSV files (incoming/outgoing) and will report an error if either CSV file is not specified.
I tried with the CSV files you provided, putting "in.csv" in the "Incoming SMS CSV" and "out.csv" in the "Outgoing SMS CSV" textboxes and the created IPD file is shown correctly in Magicberry.
See screenshots from the following link:
http://toughdev.com/public/csv2ipd_screenshot1.png (+123 shown as Received in Inbox)
http://toughdev.com/public/csv2ipd_screenshot2.png (+456 shown as Sent in Outbox)
Let me know what you did exactly for the 2 CSV files to create 2 IPD files
Hi, MD.
Sorry for LongTime answer (cuz no internet at place). Before i saw screens i understood that some words can have another sense. And outbox/outgoing/sent/submit – is different term for one sense. And Incoming and outgoing messages must be in two independent files. Then i parse my BIG file into 2 different files within incoming and outgoing messages inside. All worked fine. And maybe in future Link will support "string" in incoming numbers.
With Best regards, Roman
Hi Roman,
Glad to hear you finally got it to work. Enjoy your new Blackberry with the imported SMS!
I will take some time to improve the tool and change some words to make things easier to understand. I will also find a way to support SMS messages with strings as incoming numbers.
Hello MD! I just downloaded the file csv2ipd.zip and when I extracted it, my anti-virus says it has a severe virus with the name Backdoor:MSIL/Bladabindi!rfn, and the file csv2ipd.exe has been completely deleted. Any ideas why? I really need this file because I'm migrating my Nokia N8 messages to my Blackberry 9790. Please help. Thank you.
Hello MD! I just downloaded the file csv2ipd.zip and when I extracted it, my anti-virus says it has a severe virus with the name Backdoor:MSIL/Bladabindi!rfn, and the file csv2ipd.exe has been completely deleted. Any ideas why? I really need this file because I'm migrating my Nokia N8 messages to my Blackberry 9790. Please help. Thank you.
Hi there,
Can you try the download again? The download was previously optimized using a packer, so that may be detected as a virus by your antivirus program. The link to download now simple contains the csv2ipd.exe file itself, so that should work.
Thanks for the speedy reply!
I already clicked the link above and tried to download again and it’s still in zip file, and when I unzip it, again Microsoft Security Essentials cleaned the csv2ipd.exe file totally, making me unable to use it. Can you send me the file to my email? Thank you.
Hi, I believe you still downloaded the old file due to, for example, browser caching. Can you clean the browser cache and try the download again? If it still doesn't work, you can contact me using the contact form on this site and I will send the zip file directly to your email.
Ok, I’ll try and will update you.
Again, thank you for replying fast.
I got it! Your software is really a great help and works like a charm!
Just need some minor adjustments with the sms to show them perfectly in my berry. But I don’t mind.
Overall, I’m so happy with it. Thank you very much! Keep up the great work!
Hi Laine,
Glad you managed to transfer your SMS to your Blackberry using my software and thanks for getting back too! Cheers
Good morning MD,
Hope all is well. Thank you very much for your hard word. I have been trying to get this thing to work all night long but still no luck so i decided to reach out to you. i managed to have both incoming and outgoing files int his format:
sms;submit;””;”+1xxxxxxxxxx”;””;”2013.01.01 19:02″;””;”Knock knock”
sms;deliver;”+1xxxxxxxxxx”;””;””;”2013.03.31 18:43″;””;”Hey”
The xxx are the phone numbers i replaced with xxx for privacy reasons here. The error i’m receiving int he log file pertains to the data format:
Exception reading: …..”System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)
at System.DateTime.ParseExact(String s, String format, IFormatProvider provider)
at CSV2IPD.frmMain.StringToDate(String st, String format)
at CSV2IPD.frmMain.btnConvertClick(Object sender, EventArgs e)
Do you know how i can fix this?
The original messages have mm/dd/yy format and in excel i changed it to yyyy.MM.dd HH:mm.
Your help is much appreciated
Thank you very much
Awesome! This really works! The Exported CSV is all messed up so you have to do the following:
1. Open the exported text on notepad++
2. Copy the whole text (CTRL+A then CTRL+C)
3. Open Microsoft Excel
4. On the PASTE Command(Ribbon, Click the button down arrow)
5. Use Text Import Wizard. Next > Select Comma > Select NUMBER Column Except for the date and Change Dataformat to TEXT > Finish
6. Select the date column and change the Date format to "yyyy.MM.dd HH:mm"
7. Delete all the other non-essential columns(leave date/time, number, type, message alone)
8. Format as table (Doesn't matter which format)
9. Filter Sent
10. Copy that to a new sheet and format everything
11. Save as tab delimited text
12. replace those tabs with "," and add the sms;deliver; or sms;sent; before each line using notepad++ also, add a trailing " to each line. (use regex replacement)
13. Save it. Do the same for the other filtered.
14. Convert to ipd format.
15. Enjoy!
A Video on how you did it would probably be good, I try doing it base on your instruction. thanks
Hi,
thanks for your work!
I successfully managed to convert the example files that you provided to an ipd file.
On my BB Passport I went to the Smart Dial Screen and set a Country code of +1(US)
and Chose an area code of 214.
I could open the ipd file using BB link and it told me that the restoration of those Messages was succesful. But the example Messages just don’t Show up on my BB Passport! Do you have any ideas?
Best Regards!
Hi,
i have problem with dowload the tool CSV2IPD from
http://toughdev.com/public/CSV2IPD.zip – was not found on this server
thx
Tom
Hi, the issue has been fixed and the link should be working now. Let me know if you still have issues.