Un solo archivo

pandoc es la herramienta de referencia para conversiones entre formatos. De DOCX a Markdown, un archivo se resuelve en una línea:

pandoc documento.docx -t gfm -o documento.md

La salida gfm (GitHub Flavored Markdown) suele ser la más cómoda para publicar. Si el documento trae imágenes u otros medios, --extract-media=DIR los extrae y ajusta las referencias en el Markdown generado. Esto no garantiza que todos los elementos del DOCX se conserven perfectamente: revisa los archivos y las referencias resultantes.

Por lotes

Para una carpeta entera, un bucle simple alcanza. Nombro la salida a partir del original para no pisar nada. En Bash, *.docx no coincide por defecto con extensiones .DOCX; si no hay coincidencias, normalmente deja el patrón literal. Este ejemplo comprueba que haya archivos antes de convertirlos:

shopt -s nullglob
archivos=( *.docx )

if ((${#archivos[@]} == 0)); then
  echo "No se encontraron archivos .docx" >&2
  exit 1
fi

mkdir -p salida
for f in "${archivos[@]}"; do
  pandoc "$f" -t gfm --extract-media=salida -o "salida/${f%.docx}.md"
done

El patrón y la eliminación del sufijo del nombre de salida distinguen mayúsculas de minúsculas por defecto. Admitir .DOCX también requiere tratar correctamente ese sufijo al construir el nombre de salida; este ejemplo solo contempla .docx en minúsculas. Puedes llamar markdown/ a la carpeta de salida si prefieres ese nombre.

Antes de correrlo sobre cientos de archivos, conviene probar con uno y revisar el resultado.

Detalles que vale la pena ajustar

Situación Opción
Controlar el ajuste de líneas del Markdown generado --wrap=none
Extraer imágenes --extract-media=DIR
Numerar secciones --number-sections

--wrap=none evita que Pandoc ajuste las líneas del archivo Markdown; no controla la conservación de notas al pie. Inspecciona cómo quedaron representadas después de la conversión. En general el resultado es un buen punto de partida, no un texto final: las tablas y los estilos anidados siempre necesitan una revisión a mano.