Buscar y reemplazar texto gratis
Busque y reemplace texto con coincidencias simples o de expresiones regulares, un recuento de coincidencias en vivo y una vista previa resaltada. Admite búsqueda sin distinguir mayúsculas, palabras completas y referencias a grupos de captura de expresiones regulares.
💡 En modo regex, usa grupos de captura en Buscar como (\d{4})-(\d{2}) y referéncialos en Reemplazar con $1, $2 — ideal para reformatear fechas, nombres o IDs en bloque.
Usos habituales
- Búsqueda y reemplazo de texto en loteReemplaza cada ocurrencia de una palabra o frase en un bloque de texto a la vez.
- Búsqueda y reemplazo con expresiones regularesUtiliza expresiones regulares con grupos de captura para reformatear texto en lote.
- Buscar y reemplazar en códigoRenombra variables o reescribe patrones en un fragmento de código rápidamente.
- Limpiar datos desordenadosElimina o normaliza caracteres extraños, delimitadores y formatos en datos pegados.
- Reemplazar palabras mientras escribesCambia una palabra repetida o renombra un personaje a lo largo de un borrador.
Cómo funciona
Buscar y Reemplazar se ejecuta enteramente en tu navegador usando el motor RegExp integrado de JavaScript: sin biblioteca, sin servidor, sin subida. El texto se procesa localmente en el momento en que escribes, usando String.prototype.matchAll para contar y String.prototype.replace para sustituir.
- 1El patrón se compila a RegExpMientras escribes, el término de búsqueda se compila en un RegExp de JavaScript con un retraso de 150 ms para que los patrones patológicos no congelen la pestaña con cada pulsación. En modo texto plano, cada metacaracter de expresión regular se escapa primero, así que los puntos y corchetes literales se tratan como literales. Activar el modo Regex pasa tu patrón directamente. El modo Palabra completa envuelve el patrón en anclas de límite de palabra \b(?:...)\b, y el modo Insensible a mayúsculas añade la marca i.
- 2Una sola pasada de matchAll cuenta y resaltaUna sola llamada a matchAll sobre el texto con retraso produce todos los objetos de coincidencia. El recuento de coincidencias se lee directamente de la longitud de ese arreglo. Para textos de menos de 200.000 caracteres, se construye una vista previa resaltada recorriendo los desplazamientos de coincidencia y envolviendo cada acierto en una etiqueta <mark>; el escape de HTML se aplica a los segmentos de texto en bruto antes de la inserción, no después, así que las coincidencias que contienen &, < o > se manejan correctamente.
- 3Reemplaza con texto literal o referencias inversas de grupo de capturaLa salida se produce mediante String.prototype.replace con la marca global, reemplazando todas las coincidencias a la vez. En modo texto plano, cualquier $ en la cadena de reemplazo se duplica a $$ para que caracteres como $& y $1 se inserten literalmente en lugar de interpretarse como referencias inversas. En modo Regex, $1, $2, etc. funcionan como sustituciones estándar de grupo de captura de JavaScript.
- 4Copia o descarga el resultadoEl texto reescrito aparece en un área de texto de solo lectura mientras escribes. Copiar usa la API navigator.clipboard.writeText del navegador. Descargar construye de forma síncrona un Blob de tipo text/plain y dispara un guardado local: nada sale de tu dispositivo en ningún momento.
Guía
Ejemplo práctico
Imagina una lista con fechas escritas año primero y necesitas día primero. Pega "Invoice 2026-11-04 due 2026-12-15" en "Tu texto", marca "Expresión regular", escribe (\d{4})-(\d{2})-(\d{2}) en "Buscar" y $3/$2/$1 en "Reemplazar con". La línea bajo las cajas dice "2 coincidencias encontradas", ambas fechas se resaltan y "Resultado" muestra "Invoice 04/11/2026 due 15/12/2026". Con la casilla desmarcada, el mismo texto se busca literalmente, así que buscar . en a.b.c encuentra 2 coincidencias (los puntos), mientras que con la casilla marcada encuentra 5, porque . entonces significa cualquier carácter. La limpieza rápida "Colapsar espacios múltiples" convierte "a b c d" en "a b c d" (3 coincidencias).
Qué ajustes usar y los límites
- Empieza con texto sin formato. Con "Expresión regular" desmarcada, lo que escribas en "Buscar" se busca exactamente como está escrito, y un $ en "Reemplazar con" se inserta como un signo de dólar literal. Marca la casilla solo cuando necesites patrones como dígitos, partes opcionales o grupos.
- Revisa las opciones de mayúsculas y palabra completa. La búsqueda distingue mayúsculas a menos que "Sin distinción de mayúsculas" esté marcado, así que "gato" no encuentra "Gato". "Palabra completa" evita que "gato" coincida dentro de "concatenar" y "categoría". También funciona para palabras acentuadas como café y para texto en chino y japonés, donde cada borde de carácter cuenta como borde de palabra. En "gato concatenar Gato categoría gato." una búsqueda simple de gato encuentra 4, y sin distinción de mayúsculas más palabra completa encuentra 3.
- En modo regex, presta atención a los anclajes de línea. Los patrones usan sintaxis de expresiones regulares de JavaScript. No hay opción multilínea, así que ^ y $ solo coinciden con el inicio y el final de todo el texto, no de cada línea, y . no cruza un salto de línea. Para anclar a cada línea, usa (?<=^|\n) para un inicio de línea y (?=\r?\n|$) para un final de línea. Los grupos de captura en "Buscar" regresan como $1, $2 en "Reemplazar con".
- Usa las limpiezas rápidas. Bajo "Limpiar texto" hay diez ajustes predefinidos de un clic: "Enderezar comillas dobles", "Enderezar comillas simples", "Colapsar espacios múltiples", "Quitar saltos de línea", "Tabulaciones a espacios" (cuatro espacios), "Recortar espacios al final", "Quitar líneas vacías", y tres para texto en chino y japonés que convierten caracteres de ancho completo, convierten puntuación a ancho completo y quitan espacios entre caracteres. Un ajuste predefinido rellena Buscar y Reemplazar y marca "Expresión regular". Los dos ajustes que convierten caracteres dejan de convertir en cuanto editas cualquiera de las cajas.
- Carga un archivo en lugar de pegar. "Cargar un archivo de texto" abre archivos .txt, .csv, .log y .md, u otros archivos de texto, y los lee en tu navegador. Un archivo que parece binario se rechaza, y un archivo de un tipo claramente diferente, como un DOCX o PDF, se rechaza con un mensaje que nombra su tipo. "Descargar .txt" guarda el resultado con el nombre y extensión originales, así que pedidos.csv sigue siendo pedidos.csv; para texto pegado el archivo se llama find-replace-result.txt.
- Espera una pausa con textos muy grandes. Los resultados se actualizan unos 0.15 segundos después de que dejes de escribir, 0.35 segundos cuando el texto supera los 200,000 caracteres y 0.7 segundos pasando 1,000,000. Por encima de 200,000 caracteres la vista previa resaltada se desactiva y la página dice "La vista previa resaltada está desactivada para textos muy grandes; el resultado de abajo sigue actualizado." El conteo de coincidencias y el resultado siguen funcionando. La herramienta no comprueba el tamaño del archivo por sí misma, así que un archivo muy grande está limitado por la memoria de tu navegador.
Problemas comunes y cómo solucionarlos
- Dice "Regex inválida".
- Tu patrón no es una sintaxis de expresión regular válida. Esto suele ocurrir cuando "Expresión regular" está marcada mientras buscas texto ordinario que contiene símbolos como ( [ * + ? o una barra invertida. En Chrome, por ejemplo, C++ da "Nothing to repeat", [abc da "Unterminated character class" y un ( solo da "Unterminated group". Desmarca la casilla para buscar el texto literalmente, o pon una barra invertida antes de cada símbolo, como en C\+\+. Abre "Detalles" para ver el mensaje propio del navegador; su redacción varía según el navegador y se muestra en inglés.
- Dice "No se pudo leer ese archivo. Elige un archivo de texto sin formato (.txt, .csv, .log, .md)."
- El archivo parece binario: sus primeros 4,096 caracteres contienen un carácter NUL, como en un archivo de Word, Excel o PDF renombrado a .txt, o el navegador no pudo leerlo. Abre el original en su propio programa y copia el texto, o guárdalo primero como texto sin formato o CSV. Un archivo de un tipo claramente diferente suele rechazarse antes, con un mensaje como "report.docx es un archivo DOCX, que esta herramienta no puede abrir."
- Dice "0 coincidencias encontradas" aunque el texto claramente está ahí.
- Comprueba, en este orden: la búsqueda distingue mayúsculas a menos que "Sin distinción de mayúsculas" esté marcado; "Palabra completa" está marcado y el texto está dentro de una palabra más larga; "Expresión regular" está marcada y un carácter como . o ( está actuando como patrón; o los espacios, tabulaciones y saltos de línea en tu texto no son lo que escribiste. El conteo se actualiza una fracción de segundo después de que dejes de escribir, así que espera un momento tras un cambio.
- El reemplazo muestra $1 o $& tal cual en lugar del texto coincidente.
- Referencias como $1 solo funcionan con "Expresión regular" marcada, y solo cuando "Buscar" contiene un grupo de captura entre paréntesis, por ejemplo (\d+). Con la casilla desmarcada cada $ se inserta exactamente como se escribió. Si el patrón no tiene un primer grupo, JavaScript también deja $1 como texto sin formato.
- Escribí \n en "Reemplazar con" y obtuve una barra invertida y una n en lugar de un salto de línea.
- "Reemplazar con" es una caja de una sola línea y no convierte \n en un salto de línea, así que inserta los dos caracteres. En "Buscar", con "Expresión regular" marcada, \n y \r?\n sí coinciden con saltos de línea, que es como funcionan "Quitar saltos de línea" y "Quitar líneas vacías". No se puede escribir un salto de línea en el reemplazo, así que para añadir saltos de línea usa un editor de texto que lo soporte.
Cómo se compara
Un procesador de textos o editor de código avanza por las coincidencias una a una, edita el documento en su lugar, puede trabajar en muchos archivos y ofrece deshacer. Esta página hace lo contrario: reemplaza cada coincidencia de una vez en una copia de tu texto, muestra primero un conteo en vivo y las coincidencias resaltadas, y deja tu original en la primera caja hasta que lo cambies. Sus expresiones regulares son las de JavaScript, que difieren en detalles de las variantes en otros editores y herramientas de línea de comandos. Por ejemplo, los grupos con nombre se escriben (?<name>...) y no (?P<name>...), no hay anclajes por línea, y no se puede escribir un salto de línea en el reemplazo. Sirve para un bloque pegado o un archivo de registro o CSV; para una carpeta entera de archivos, usa un editor o un script.
Herramientas relacionadas
Buscar y reemplazar en Word, PowerPoint y Excel
Reemplaza palabras en archivos .docx, .pptx y .xlsx sin Office: varios pares de buscar → reemplazar, muchos archivos a la vez, distinción de mayúsculas, palabras completas o regex. El formato, las imágenes y el diseño se mantienen; no se sube nada.
Renombrar archivos en lote
Renombra muchos archivos a la vez: buscar y reemplazar (o expresión regular), mayúsculas y minúsculas, prefijo, sufijo, numeración y la fecha en que se tomó una foto. Vista previa en directo y descarga de los archivos renombrados en un ZIP. Funciona en cualquier dispositivo; no se sube nada.
Selector de emojis
Busca y copia emojis con un clic. Explora por categorías, forma una cadena de varios emojis, elige un tono de piel y encuentra los que usaste hace poco.