Cómo extraer correos de cualquier texto (paso a paso)

Tres pasos para pasar de texto en bruto a una lista sin duplicados. Sirve para currículums, páginas web, volcados de CSV, registros de chat y directorios de contactos. El atajo lleva diez segundos en el navegador. La vía con script escala a archivos de gigabytes.

En esta página

El flujo de tres pasos

Sea la fuente un currículum, una página web, un volcado de CSV o un registro de chat, el flujo es el mismo:

  1. Consigue la fuente como texto. Copia desde el navegador, pega desde el portapapeles, arrastra un archivo. El extractor necesita caracteres en bruto, no documentos con formato.
  2. Ejecuta la extracción. Una pasada de regex saca cada dirección. Una de normalización pasa a minúsculas. Una de deduplicación colapsa los duplicados.
  3. Exporta el resultado. Cópialo como columna, descárgalo como CSV o pégalo en el siguiente sistema.

Tiempo total para un pegado típico: diez segundos. La parte más larga suele ser dejar la fuente en una forma apta para el portapapeles.

El atajo. Abre el Extractor de Correos, pega tu texto y ve la lista sin duplicados al instante. Activa «Detectar correos ofuscados» si tu fuente usa patrones [at]/(dot).
Publicidad

Paso 1 — conseguir la fuente como texto

Cinco fuentes comunes, cada una con su enfoque:

  • Página web. Haz clic en la página, Cmd+A / Ctrl+A, Cmd+C / Ctrl+C. O clic derecho → Guardar como → Texto. El navegador quita el HTML y te da el texto visible.
  • PDF de currículum. Ábrelo en cualquier visor de PDF, selecciona todo, copia. Para los PDF solo de imagen (escaneados), pasa primero un OCR.
  • Documento de Word. Ábrelo, selecciona todo, copia. O Archivo → Guardar como → Texto sin formato.
  • Archivo CSV. Ábrelo en cualquier editor de texto, selecciona todo, copia. O ábrelo en Excel/Sheets y copia la columna de correos.
  • Exportación de registro de chat (Slack, Discord, MBOX de correo). Abre el archivo exportado en un editor de texto y copia el rango relevante. Para el MBOX de correo, todo el archivo es texto plano.

La única fuente difícil: los correos en imagen. Si la dirección se renderiza como un PNG (una jugada deliberada contra el scraping), ningún paso de extracción de texto la verá. El OCR es la única vía, y pierde calidad con el texto pequeño.

Paso 2 — ejecutar la extracción

Tres opciones, en orden de esfuerzo:

Navegador (uso diario). Pega en el Extractor de Correos de TextKit. Activa «Detectar correos ofuscados» si hace falta. Haz clic en extraer. La lista aparece al instante.

Línea de comandos (archivos grandes, scripts).

grep -Eoi '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' source.txt | sort -u

El -E habilita la regex extendida. El -o imprime solo la coincidencia. El -i ignora mayúsculas. sort -u deduplica. Listo en una sola tubería.

Script de Python (archivos grandes, reglas a medida).

import re
with open('source.txt', encoding='utf-8') as f:
    text = f.read()
pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
emails = sorted(set(m.lower() for m in re.findall(pattern, text)))
print('\n'.join(emails))

La versión en Python te da control sobre la lógica de deduplicación, el manejo de mayúsculas y cualquier filtrado propio del proyecto (por ejemplo, excluir dominios internos o validar contra una lista de TLD conocidos).

Paso 3 — exportar el resultado

Tres formatos cubren casi todo uso posterior:

  • Lista simple, una por línea. Pégala en el campo de importación masiva de un CRM, en una columna de hoja de cálculo o en otra herramienta de extracción.
  • CSV. Una columna, una dirección por fila. Universal para importar a Mailchimp, ConvertKit, HubSpot, Salesforce y básicamente cualquier otra herramienta de correo.
  • Cadena separada por comas. Pégala en el campo Para/CC/CCO de un cliente de correo. Útil sobre todo para listas pequeñas que enviarás a mano.

El Extractor de Correos de TextKit ofrece las tres. Haz clic en el chip de tipo de salida para cambiar.

El paso de limpieza que casi todos los flujos saltan

Tras la extracción, tres problemas de calidad comunes que conviene corregir antes de usar la lista:

  1. Puntuación al final. Elimina los .,;:)>}] del lado derecho de cada dirección. El extractor debería hacerlo de forma automática.
  2. Dominios duplicados. A veces la captura manual de datos produce alice@example.com.example.com. Estos necesitan revisión humana. No hay una corrección automática que sea segura.
  3. Direcciones solo internas. La mayoría de las listas tienen unas pocas direcciones a las que no deberías escribir: la tuya, la de tu equipo, las del sistema (noreply@, postmaster@). Fíltralas antes de cualquier envío.

Qué hacer cuando la regex se salta algo

Si el resultado tiene menos direcciones de las esperadas, la fuente probablemente usa ofuscación. Activa «Detectar correos ofuscados» en el extractor. Agrega una pasada que reconoce [at], (at), [dot], (dot) y las palabras sueltas at y dot con límites de espacio.

Si aun así faltan direcciones tras la pasada de ofuscación, la fuente probablemente usa ensamblado con JavaScript o renderizado como imagen. La extracción basada en texto no puede capturarlas. Solo el scraping con navegador headless (para JS) o el OCR (para imágenes) las alcanza. Ambos requieren herramientas distintas.

Para los detalles de la regex con patrones listos para copiar y pegar, mira la hoja de referencia de regex para correos. Para la referencia más a fondo sobre la extracción y los límites legales, mira Extracción de correos: la guía completa.

Preguntas frecuentes

¿Y si tengo un PDF, no texto?

Extrae primero el texto. La mayoría de los PDF permiten seleccionar texto: copia y pega en el extractor. Para los PDF escaneados (basados en imagen), pasa primero un OCR con herramientas como Vista Previa de macOS, Tesseract o Adobe Acrobat.

¿Cómo extraigo correos de un buzón de Gmail?

Usa la exportación de Gmail (Google Takeout) para descargarlo como MBOX. Abre el MBOX en un editor de texto o ejecuta grep -E con la regex de correos. El extractor de TextKit maneja el texto MBOX una vez pegado.

¿Puedo extraer correos de un documento de Word?

Sí. Copia el texto del documento y pégalo. O guarda primero el documento como texto plano para quitar el ruido de formato.

¿Cómo extraigo correos de un perfil de Twitter o LinkedIn?

Twitter rara vez tiene correos en texto plano en los perfiles (a propósito). LinkedIn los muestra solo en los perfiles conectados. Para ambos, mira el texto de la página, cópialo y extrae. El mismo flujo. Las direcciones en imagen no se capturan.

¿Debo ordenar el resultado alfabéticamente?

Sí, casi siempre. Las listas ordenadas son más fáciles de revisar, de deduplicar entre varias extracciones y de comparar con datos existentes. La mayoría de los extractores lo ofrecen como una opción.

Publicidad

Seguir leyendo

Escrito por . Creamos las herramientas sobre las que escribimos. Prueba el Extractor de Correos que usamos en este artículo.