Saltar al contenido

Convertidor online gratuito de VMSG a CSV

Extrae los registros de SMS de las copias de seguridad de VMSG en archivos CSV compatibles con hojas de cálculo y con capacidad de búsqueda.

Convertir VMSG a CSV online - gratis

Subiendo…

Tu archivo se procesa al instante y se elimina en cuanto lo descargas.

Cómo funciona

  1. 1/3

    Sube tu archivo .vmsg

    Haz clic para seleccionar el archivo que quieres convertir o simplemente arrástralo y suéltalo en el área indicada.

  2. 2/3

    Realiza la conversión de .vmsg a .csv

    Una vez subido el archivo correctamente, haz clic en convertir cuando estés listo.

  3. 3/3

    Descarga el archivo .csv convertido

    El resultado de la conversión está listo para descargar.

Cómo convertir un archivo vmsg a csv

Una utilidad antigua de copia de seguridad del teléfono o de mensajería puede exportar los registros SMS como .vmsg, mientras que las hojas de cálculo, las bases de datos y las herramientas de generación de informes suelen requerir .csv. La conversión transforma los registros de mensajes en filas que se pueden buscar, filtrar, editar o importar.

Qué es el formato VMSG

VMSG, también llamado vMessage, es un formato basado en texto utilizado por teléfonos móviles antiguos, software de gestión telefónica y utilidades de copia de seguridad de SMS. Un archivo suele contener secciones BEGIN:VMSG, BEGIN:VENV y BEGIN:VBODY, con propiedades como TEL, DTSTART, SUBJECT, BODY, X-IRMC-BODY, X-IRMC-TYPE y X-IRMC-BOX.

VMSG se puede leer como texto sin formato, pero sus registros anidados y sus propiedades específicas del proveedor no se muestran automáticamente como filas y columnas. Algunos archivos almacenan el número de teléfono en una sección VCARD circundante en lugar de dentro del cuerpo del mensaje.

Qué es el formato CSV

CSV representa datos tabulares como filas y campos. Excel, LibreOffice Calc, Google Sheets, las herramientas de importación de bases de datos y la mayoría de las bibliotecas de scripting lo admiten. Una exportación de mensajes suele utilizar columnas como date, phone, type, folder, subject y body.

CSV resulta útil para ordenar por fecha, filtrar mensajes entrantes y salientes, buscar texto en los mensajes, importar registros a otro sistema y crear un archivo de texto compacto. No conserva la sintaxis de VMSG, los archivos adjuntos, los estados de entrega ni los metadatos específicos del proveedor, a menos que esos valores se exporten explícitamente a columnas adicionales.

Convertir el archivo con un script local

No existe una implementación estándar universal de VMSG: los proveedores de teléfonos y los programas de copia de seguridad utilizan diferentes nombres de propiedades y codificaciones. Un pequeño parser local de Python suele ser más seguro que cargar mensajes privados en un sitio web de conversión genérico.

Instala Python 3, guarda lo siguiente como vmsg_to_csv.py y colócalo junto al archivo de origen:

import csv
import sys
import quopri


def decode(value, params):
    if any(p.upper() == 'ENCODING=QUOTED-PRINTABLE' for p in params):
        value = quopri.decodestring(value).decode('utf-8', errors='replace')
    slash = chr(92)
    return (value.replace(slash + 'n', '\n')
                 .replace(slash + 'N', '\n')
                 .replace(slash + ',', ',')
                 .replace(slash + ';', ';')
                 .replace(slash + slash, slash))


def convert(source, destination):
    rows = []
    record = None
    contact_tel = ''
    in_vcard = False

    with open(source, encoding='utf-8-sig', errors='replace') as handle:
        lines = []
        for raw in handle:
            line = raw.rstrip('\r\n')
            if line.startswith((' ', '\t')) and lines:
                lines[-1] += line[1:]
            else:
                lines.append(line)

    for line in lines:
        upper = line.upper()
        if upper == 'BEGIN:VCARD':
            in_vcard = True
            continue
        if upper == 'END:VCARD':
            in_vcard = False
            continue
        if upper == 'BEGIN:VBODY':
            record = {}
            continue
        if upper == 'END:VBODY':
            if record is not None:
                record['_CONTACT_TEL'] = contact_tel
                rows.append(record)
            record = None
            continue
        if ':' not in line:
            continue
        left, value = line.split(':', 1)
        parts = left.split(';')
        name = parts[0].upper()
        value = decode(value, parts[1:])
        if in_vcard and name == 'TEL':
            contact_tel = value
        elif record is not None:
            record[name] = value

    def first(row, names):
        for name in names:
            if row.get(name, ''):
                return row[name]
        return ''

    columns = ['date', 'phone', 'type', 'folder', 'subject', 'body']
    with open(destination, 'w', newline='', encoding='utf-8-sig') as handle:
        writer = csv.DictWriter(handle, fieldnames=columns)
        writer.writeheader()
        for row in rows:
            writer.writerow({
                'date': first(row, ['DTSTART', 'DATE']),
                'phone': first(row, ['TEL', 'X-IRMC-RECIPIENT', 'TO', 'FROM', '_CONTACT_TEL']),
                'type': first(row, ['X-IRMC-TYPE', 'TYPE']),
                'folder': first(row, ['X-IRMC-BOX', 'FOLDER']),
                'subject': first(row, ['SUBJECT']),
                'body': first(row, ['BODY', 'X-IRMC-BODY', 'TEXT', 'MESSAGE'])
            })


if len(sys.argv) != 3:
    raise SystemExit('Usage: python vmsg_to_csv.py input.vmsg output.csv')
convert(sys.argv[1], sys.argv[2])

Ejecuta python vmsg_to_csv.py messages.vmsg messages.csv. En los sistemas que utilizan el comando python3, ejecuta python3 vmsg_to_csv.py messages.vmsg messages.csv. Abre el resultado en Calc o Excel; la marca de orden de bytes UTF-8 ayuda al software de hojas de cálculo a detectar caracteres que no pertenecen a ASCII.

Antes de la conversión, abre una copia del archivo VMSG en un editor de texto y comprueba los nombres reales de sus propiedades. El script reconoce alias comunes, incluidos BODY, X-IRMC-BODY, TEXT y MESSAGE. Si los mensajes utilizan otro nombre, añádelo a la lista del cuerpo en el script. Si el archivo utiliza un conjunto de caracteres que no sea UTF-8, cambia la codificación de entrada y prueba los caracteres acentuados antes de procesar toda la copia de seguridad.

Otras opciones de conversión

Una utilidad especializada como vmsg2csv puede funcionar para una variante específica de copia de seguridad del teléfono, pero verifica primero su origen, las propiedades compatibles y el resultado con una copia pequeña. La disponibilidad y compatibilidad de las utilidades antiguas varían, y muchas no decodifican correctamente el texto quoted-printable, las líneas plegadas ni los campos específicos del proveedor.

LibreOffice Calc y Excel pueden abrir CSV, pero no son parsers fiables de VMSG. Importar un archivo VMSG mediante File → Open solo funciona después de que los registros ya se hayan normalizado en filas delimitadas.

Los conversores online genéricos rara vez indican VMSG como entrada compatible y pueden interpretar incorrectamente su estructura anidada. Utiliza un servicio online solo si admite explícitamente VMSG, explica su política de conservación y eliminación, utiliza HTTPS y no requiere acceso innecesario a una cuenta. No cargues copias de seguridad de SMS que contengan mensajes privados, números de teléfono o códigos de autenticación, a menos que el riesgo para la privacidad sea aceptable.

Comprobar los datos convertidos

Compara varias filas del CSV con el origen, incluidos los mensajes que contengan comas, saltos de línea, comillas, caracteres que no pertenezcan a ASCII y cuerpos vacíos. El escritor CSV de Python entrecomilla correctamente las comas y los saltos de línea incrustados, pero un programa de teléfono puede almacenar contenido multilínea o quoted-printable en un formato específico del proveedor que requiera una decodificación adicional.

Conserva el archivo VMSG original. CSV es un formato de intercambio aplanado y puede omitir archivos adjuntos, el estado de lectura o entrega, la estructura de contactos, las marcas de tiempo con información de zona horaria y los campos que no se incluyeron en las columnas de salida seleccionadas.

VMSG vs CSV: comparación de formatos

Cómo se comparan los formatos VMSG y CSV en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo VMSG y CSV
Propiedad .VMSG vMessage SMS backup .CSV Comma-Separated Values
Legible como texto plano Sí Sí
Tipos de datos No tipado (todo texto) Tipado
Estructuras anidadas No No
Fórmulas No No
Varias tablas o hojas No No
Tamaño de archivo típico Muy pequeño Pequeño
Estándar abierto Parcialmente abierto Sí
Más adecuado para Intercambio de datos Intercambio de datos
Tipo MIME — text/csv

La información sobre extensiones y tipos de archivo la proporciona File-Extensions.org

Preguntas frecuentes

¿Es gratuito el convertidor de VMSG a CSV?

Sí, convertir VMSG a CSV en 101convert.com es totalmente gratuito. No se requiere registro, correo electrónico ni instalación. Si necesitas un límite de tamaño de archivo mayor o quieres convertir más archivos a la vez, consulta nuestros planes.

¿Qué tamaño puede tener mi archivo VMSG?

Puedes subir archivos VMSG de hasta 3 MB y convertir hasta 3 archivos a la vez en un solo lote. Con un plan de pago, el límite sube hasta 50 MB por archivo y 100 archivos a la vez, consulta nuestros planes.

¿Qué ocurre con mis archivos subidos?

Los archivos se procesan automáticamente y se eliminan de nuestros servidores pocos minutos después de la conversión. Nunca vemos ni compartimos tus archivos.

¿Necesito instalar algún programa para convertir VMSG a CSV?

No. La conversión de VMSG a CSV se realiza completamente online en tu navegador y funciona en Windows, Mac, Linux, Android y iPhone.

¿Ha fallado la conversión?

En la mayoría de los casos, la causa es un formato de archivo incorrecto. Sube un archivo VMSG válido para esta conversión de VMSG a CSV. En ocasiones, el problema también puede estar de nuestro lado. Analizamos los fallos de conversión recurrentes y desactivamos o reparamos el convertidor si detectamos algún defecto.

¿Qué información se conserva al convertir VMSG a CSV?

La conversión extrae campos de SMS como el remitente o destinatario, la fecha y hora, y el texto del mensaje cuando esos campos están presentes en los registros VMSG. Es posible que los campos adicionales compatibles únicamente con una variante concreta de VMSG no tengan una columna CSV correspondiente.

¿Se conservan los archivos adjuntos y el formato de los mensajes al convertir VMSG a CSV?

No, CSV almacena los datos de SMS como texto sin formato y campos tabulares, por lo que no se conservan los archivos adjuntos, el formato enriquecido ni la estructura original del registro VMSG. Los saltos de línea dentro de un mensaje pueden permanecer como contenido de la celda, pero no conservarán la presentación original.

¿Puedo convertir el CSV de nuevo en la copia de seguridad VMSG original?

Normalmente no de forma exacta, porque CSV no conserva toda la estructura, los metadatos ni los detalles de codificación de VMSG. Es mejor considerarlo una exportación editable y consultable, no una copia de seguridad reversible.

¿Por qué faltan algunos mensajes VMSG o aparecen divididos en columnas incorrectas en CSV?

Esto puede ocurrir cuando la copia de seguridad utiliza una variante de VMSG no estándar, contiene registros dañados o utiliza una codificación de caracteres inusual. Las comas, comillas o saltos de línea del texto de los mensajes deben gestionarse como datos CSV, y los registros con un formato incorrecto pueden impedir la extracción fiable de los campos.

Otras conversiones de archivos .vmsg

Convertir a .csv
desde otros formatos

Compartir en redes sociales:

Ya descargado

Este archivo ya se ha descargado. Para proteger tu privacidad, lo borramos de nuestro servidor justo después de la descarga, así que no se puede volver a descargar. Si lo necesitas otra vez, vuelve a convertir el archivo.