Repetidor de Texto
Repite cualquier texto de 1 a 10.000 veces con separador personalizado y un token contador {n} para datos mock secuenciales, filas CSV de prueba y payloads.
Repetidor de Texto - Repetir Texto Varias Veces Online
Repetidor de Texto es un multiplicador de cadenas de un solo propósito construido sobre String.prototype.repeat() y Array.fill().join() de JavaScript — las mismas primitivas que un desarrollador usaría en código. Proporcionas una cadena de entrada (de cualquier longitud hasta los límites típicos de textarea del navegador, alrededor de 1 MB), un conteo de repetición (1 a 10.000) y un separador opcional. La herramienta construye la salida uniendo las copias de entrada con el separador: sin separador las concatena como 'abcabcabc', nueva línea da líneas apiladas, coma da estilo CSV 'abc,abc,abc', y personalizado te deja escribir cualquier cadena incluyendo secuencias de escape (\t para tabulador, \n para salto de línea, o incluso separadores multi-carácter como ' >> ' o '---'). El tope de 10.000 se impone para mantener navegadores responsivos: en ese límite, una entrada de 1 KB produce una salida de 10 MB que es el límite práctico de manejo de textarea/navegador antes de que el lag al pegar sea notable. El contador de caracteres de salida muestra la longitud final exacta para que puedas anticipar límites de caracteres de SMS o Twitter. Usos legítimos reales (que nuestros docs enfatizan sobre el encuadre de spam): generar datos de prueba para tests de carga backend, poblar archivos CSV mock para validación de pipelines ETL, construir líneas separadoras ASCII visuales ('═' × 80), crear grandes payloads multilínea de prueba para checks de seguridad de validación de entrada, generar mensajes largos de efecto chat para overlays de game-streaming, y producir relleno repetido para layouts de terminal de ancho fijo.
¿Qué casos de uso reales de ingeniería existen más allá del encuadre 'spam a amigos'?
Varios. Ingenieros de QA lo usan para construir grandes cadenas de payload para load-testing de campos de formulario, endpoints de API y columnas VARCHAR de bases de datos para encontrar bugs de truncamiento off-by-one. Desarrolladores frontend pegan contenido largo repetido para stress-test de overflow CSS, text-wrap y lógica de paginación. Testers de seguridad generan cadenas de condición límite (ej. payloads 4096+ char para probar manejo de buffer). Ingenieros de datos lo usan para generación de datos mock CSV al sembrar bases de prueba. Streamers de juegos producen barras separadoras ASCII repetitivas para overlays OBS. Traductores copian-pegan un marcador repetido como '||TRADUCE_AQUI||' para identificar zonas sin traducir en documentos largos.
¿Cómo genero datos de prueba secuenciales como user1, user2 o filas CSV numeradas en vez de copias idénticas?
Usa el token contador {n}. Coloca {n} en cualquier parte de tu entrada y se reemplaza por un número que se incrementa en cada copia. Ejemplo: la entrada 'user{n}@test.com' repetida 5 veces produce [email protected], [email protected], [email protected], [email protected], [email protected] — valores únicos que pasan restricciones UNIQUE/clave primaria al sembrar una base de datos, a diferencia de la repetición idéntica. Ajusta el campo Valor Inicial del Contador (predeterminado 1) para empezar en 0, 100 o cualquier base. Para IDs de ancho fijo usa una variante con ceros: {n2} da 01, 02 ... {n3} da 001, 002, 003. Puedes mezclar varios tokens y anchos en una entrada, ej. 'INSERT INTO users VALUES ({n}, "user{n3}");' genera una secuencia de filas lista para ejecutar. Esto convierte la herramienta de un duplicador en un generador real de fixtures secuenciales / datos mock para tests de carga de API y siembra ETL.
¿Cuánto pesará mi salida — puedo alcanzar un tamaño exacto de payload en MB?
La línea de estadísticas bajo la salida muestra tanto el conteo de caracteres como el Tamaño en bytes UTF-8 (B / KB / MB), calculado con un Blob para que caracteres multibyte y emojis se midan con precisión, no solo se cuenten. Esto te permite afinar un tamaño exacto de payload para tests de carga, comprobaciones de truncamiento VARCHAR/columna o límites de cuerpo de petición: elige una entrada, ajusta el número de repeticiones, genera y lee el Tamaño. Ten en cuenta que caracteres y bytes difieren para texto no ASCII — '═' es 1 carácter pero 3 bytes UTF-8 — así que confía siempre en el Tamaño en bytes cuando un límite del servidor se mide en bytes y no en caracteres.
¿Cómo se compara con escribir una línea como 'abc'.repeat(100)?
Funcionalmente idéntico para casos simples — la herramienta literalmente llama String.prototype.repeat() debajo. Las ventajas de UI son: selector visual de separador (no tienes que recordar la sintaxis array.fill+join para separadores), un contador de caracteres para previsualizar tamaño de salida antes de generar, validación de entrada para prevenir números desbocados (ej., teclear accidentalmente 10000000 y crashear la pestaña) y copy/clear de un clic para no cambiar contexto a una consola. Para un 'abc'×3 rápido, la consola es más rápida. Para 10.000 reps con separador personalizado que quieres pegar en algún sitio, la UI ahorra clics.

¿Qué pasa con entrada multilínea — se repite cada línea por separado o el bloque entero?
El bloque entero se trata como una sola cadena y se repite como unidad. Así que entrada 'línea1\nlínea2' repetida 3 veces con separador nueva línea da 'línea1\nlínea2\nlínea1\nlínea2\nlínea1\nlínea2' (tres copias del bloque de dos líneas, unidas por saltos entre cada par, lo que significa que dentro de la salida no puedes decir dónde acaba una repetición y empieza la siguiente). Si quieres cada línea repetida N veces en su sitio (línea1×3, línea2×3), no uses Repetidor de Texto — copia cada línea en Divisor de Texto, repite individualmente y pega de vuelta. O escribe un pequeño bucle en tu editor.
¿Por qué el máximo está limitado en 10.000 repeticiones?
Tres razones. Primera, tamaño de salida: incluso una entrada de 100 chars × 10.000 reps = 1 MB, que está cerca del techo de rendimiento de textarea en Chrome/Firefox antes de que el lag al pegar/copiar sea notable. Segunda, estabilidad del navegador: cadenas muy grandes (>100 MB) pueden crashear la pestaña o disparar out-of-memory en dispositivos con poca RAM. Tercera, seguridad del usuario: un typo accidental como '100000' en lugar de '100' generaría 100 MB de salida y bloquearía la UI. El tope de 10.000 es un límite práctico cómodo. Para salidas mayores usa un one-liner: `'text'.repeat(50000)` en consola navegador o `print('text' * 50000)` en Python.
¿Cómo obtengo un separador que incluya tanto un salto de línea como una línea divisoria (como '---' en su propia línea)?
Usa separador Personalizado y escribe '\n---\n' literalmente — la herramienta interpreta las secuencias de escape. Así entrada 'Sección' con separador '\n---\n' repetido 3 veces produce:\nSección\n---\nSección\n---\nSección. Útil para generar esqueletos de documento estilo markdown, bloques de metadatos EXIF, o fixtures de prueba separados por boilerplate. El separador personalizado puede ser hasta 256 caracteres e incluir cualquier char imprimible más los escapes estándar (\n, \t, \r, \u00A0).
¿Produce realmente bytes idénticos — qué pasa con el separador final tras la última copia?
Sin separador final. La salida se construye vía Array.fill(input, count).join(separator), así que el separador aparece exactamente count-1 veces — entre copias pero no al inicio o final. Así 'a' repetido 3 veces con separador ',' da 'a,a,a' (sin coma final), no 'a,a,a,'. Esto coincide con el comportamiento join() que obtendrías en código. Si quieres una copia final del separador (ej. para terminadores de fila CSV), agrégala manualmente después de copiar, o usa entrada '<texto><separador>' y repite con la opción Sin Separador.
¿Debo preocuparme por filtros de spam de plataforma al publicar texto repetido?
Sí. WhatsApp, Facebook Messenger, Discord, Slack y la mayoría de plataformas sociales detectan contenido idéntico repetido y limitan tasa, ocultan o banean la cuenta responsable. El caso de uso 'spam a amigos' es un meme pero un riesgo real de cuenta — mensajes idénticos repetidos disparan algoritmos antifloodeo que han mejorado mucho desde 2020. Usos legítimos de ingeniería (datos de prueba, ASCII art) están bien en contextos privados (tu propio navegador, tu propio entorno dev). El spam público puede suspenderte. Usa la herramienta responsablemente; el equipo de WuTools no bloquea casos de uso pero te animamos a pensar en consentimiento y reglas de plataforma.
