Conserva líneas en blanco y sangrías en tus publicaciones
Este generador cambia las líneas en blanco, la sangría del principio de línea y los tramos de espacios repetidos de tu texto por caracteres que la limpieza de espacios no borra. Con los ajustes por defecto, cada línea en blanco recibe un espacio braille (U+2800), y cada dos espacios de sangría o de separación se convierten en un espacio braille. El espacio braille se ve como un hueco en pantalla, pero Unicode no lo clasifica como espacio en blanco, así que tiene muchas posibilidades de sobrevivir cuando una app elimina espacios.
Pega tu texto en la caja de arriba y la vista previa de la publicación, a la derecha, cambia al instante. Pulsa Si lo pegas tal cual sobre la vista previa para ver qué líneas desaparecen al pegar el original en una app que limpia espacios, y pulsa Si lo pegas convertido para ver cómo vuelven. Los caracteres ocultos que se añadieron aparecen rayados, y las barras de abajo muestran qué parte de los límites de Instagram, Threads, X y TikTok ocupan. Si solo necesitas un carácter en blanco, púlsalo en la caja de caracteres de espacio, al final de la página, y se copia.
Por qué desaparecen las líneas en blanco y cuándo hace falta
Muchas apps limpian los espacios antes de guardar o mostrar una publicación. Las reglas web por defecto (CSS) solo pliegan el espacio normal (U+0020), el tabulador y los saltos de línea, y no tocan otros espacios como el espacio de no separación o el espacio ideográfico. Una función como el trim de JavaScript, en cambio, también borra los separadores de espacio de Unicode (Zs), como el espacio de no separación o el ideográfico, en los dos extremos de la línea. Recortar los extremos borra la sangría, y en las apps que además eliminan las líneas en blanco, una línea sin nada o solo con espacios también desaparece.
Por eso una línea en blanco necesita un carácter que no sea espacio para quedarse. Estas son las situaciones más habituales:
- Separar párrafos en un pie de foto: descripciones de fotos, reseñas y avisos se leen mejor con una línea vacía entre párrafos.
- Dar forma a la bio: conserva la sangría cuando quieras que el texto de tu perfil empiece algo más adentro o quede hacia el centro.
- Listas con sangría: listas de equipaje, pasos o menús con subapartados que no deben quedar aplastados en una sola línea.
- Hashtags aparte: deja varias líneas vacías entre el texto y el bloque de hashtags para que al principio solo se vea el texto.
- Un solo carácter en blanco: para un nombre visible, una viñeta o un campo de nombre que pide un carácter invisible, cópialo de la caja de caracteres de espacio.
Cómo se usa
- Pega en la caja el texto que quieres publicar. Deja las líneas en blanco, las sangrías y los espacios dobles como los escribes normalmente.
- Elige en la tabla de ajustes qué convertir. En la fila Líneas en blanco decides si se mantienen y con qué carácter; en la fila Espacios decides si se mantienen sangrías y varios espacios y con qué carácter de espaciado. Todo empieza activado, con el espacio braille.
- En la vista previa, alterna entre Si lo pegas tal cual y Si lo pegas convertido y comprueba que las líneas que antes desaparecían ahora se quedan. Si eliges un carácter de espaciado que cuenta como espacio en blanco, un aviso indica cuántas líneas podrían limpiarse.
- Mira las barras de caracteres para no pasarte del límite del sitio donde vas a publicar. Si te pasas, la barra y el número cambian de color.
- Pulsa Copiar resultado, pégalo en la app y revisa una vez más la vista previa de esa app antes de publicar.
Qué se sustituye
La conversión se hace línea por línea. Los espacios se miden en columnas: un carácter de espacio en blanco, como el espacio normal o el de no separación, vale 1 columna; un espacio ideográfico, 2 columnas; y un tabulador, 4 columnas. Esta herramienta cuenta un espacio braille o un espacio ideográfico como 2 columnas y un espacio de no separación como 1. El ancho real depende de la fuente; la caja de caracteres de espacio muestra el ancho medido en tu pantalla.
| Qué | Cómo se detecta | Cómo se sustituye | Ejemplo |
|---|---|---|---|
| Línea en blanco | Línea vacía o solo con espacios en blanco | Una línea con un único carácter de línea en blanco | línea vacía → ⠀ |
| Sangría al principio de línea | Columnas de espacio al comienzo de la línea | Columnas ÷ 2 (redondeado hacia arriba) espacios braille | 4 espacios → ⠀⠀ |
| Varios espacios dentro de la línea | 2 o más espacios entre palabras | (columnas − 1) ÷ 2 (redondeado hacia arriba) espacios braille + 1 espacio normal | 4 espacios → ⠀⠀␣ |
| Espacios al final de la línea | Espacios tras el último carácter de la línea | Se quitan | Limpia una cola invisible |
| Líneas en blanco al principio y al final | El comienzo y el final del texto completo | Se omiten | Arregla las líneas que llegan al copiar |
| Espacios ya convertidos | Espacios hechos solo del carácter elegido | Se dejan igual | Convertir dos veces da el mismo resultado |
El último hueco de un tramo de espacios queda como espacio normal por culpa de los hashtags y las menciones. La documentación para desarrolladores de TikTok indica que los hashtags (#) y las menciones (@) de una descripción se separan con espacios o saltos de línea. Si los dos espacios entre '#otoño' y '#senderismo' fueran ambos caracteres ocultos, las etiquetas podrían leerse como un solo bloque, así que tras los caracteres ocultos queda un espacio normal. Si eliges el espacio de no separación (U+00A0) como carácter de espaciado, n espacios de sangría pasan a ser n espacios de no separación, y n espacios en mitad de la línea pasan a ser n − 1 espacios de no separación más un espacio normal; con el espacio ideográfico, dos columnas cuentan como un carácter, igual que con el espacio braille.
Diez caracteres de espacio comparados
La tabla recoge los diez caracteres de la caja de caracteres de espacio con los datos de Unicode 18.0. Espacio en blanco significa que el carácter tiene la propiedad White_Space de Unicode. Ignorable por defecto se refiere a la propiedad Default_Ignorable_Code_Point, que indica al software que no dibuje el carácter si no lo admite. Los anchos son los de la lista de caracteres de Unicode; el ancho real depende de la fuente.
| Carácter | Código | Categoría | Espacio en blanco | Ignorable por defecto | Cuenta en X | Ancho (nota de la lista de caracteres) |
|---|---|---|---|---|---|---|
| Espacio braille | U+2800 | Símbolo (So) | No | No | 2 | En muchas fuentes se dibuja como hueco de ancho fijo y no actúa como espacio |
| Relleno hangul | U+3164 | Letra (Lo) | No | Sí | 2 | Depende de la fuente (suele ser un hueco ancho en fuentes coreanas) |
| Espacio de ancho cero | U+200B | Formato (Cf) | No | Sí | 1 | Sin ancho, marca posibles saltos de línea |
| Espacio de no separación | U+00A0 | Espacio (Zs) | Sí | No | 1 | Mismo ancho que un espacio normal |
| Espacio ideográfico | U+3000 | Espacio (Zs) | Sí | No | 2 | Ancho de un carácter CJK (espacio ancho) |
| Espacio em | U+2003 | Espacio (Zs) | Sí | No | 1 | Igual al tamaño de la fuente (1 em) |
| Espacio en | U+2002 | Espacio (Zs) | Sí | No | 1 | La mitad de un em |
| Espacio numérico | U+2007 | Espacio (Zs) | Sí | No | 1 | Mismo ancho que la cifra 0 |
| Espacio fino | U+2009 | Espacio (Zs) | Sí | No | 1 | 1/5 a 1/6 em |
| Espacio ultrafino | U+200A | Espacio (Zs) | Sí | No | 1 | 1/10 a 1/16 em |
En la tabla, solo el espacio braille no es ni espacio en blanco ni ignorable por defecto. Por eso la herramienta lo usa como carácter por defecto para líneas en blanco y espacios. Un método anterior alternaba el espacio de no separación, el espacio en y el espacio ultrafino; esos tres tienen anchos distintos, así que los huecos salían desiguales, y como los tres son espacios en blanco, la limpieza de los extremos de línea los borra a la vez.
Qué caracteres sobreviven a cada limpieza
La mayoría de las apps no publican cómo limpian los espacios. Aun así, las reglas más comunes están escritas en estándares, de modo que se puede saber de antemano qué caracteres sobreviven a cada limpieza.
| Limpieza | Qué quita o pliega | Qué sobrevive (de los diez de la caja) |
|---|---|---|
| Plegado de espacios en pantalla (CSS) | Solo el espacio normal (U+0020), el tabulador y los saltos de línea, reducidos a uno | Los diez |
| Recorte de los extremos de línea (JavaScript trim) | Los espacios en blanco de Unicode (todo Zs), tabuladores y BOM | Espacio braille, relleno hangul, espacio de ancho cero |
| Prueba de espacio (Java isWhitespace) | Espacios en blanco, salvo los de no separación (U+00A0, U+2007, U+202F) | Espacio braille, relleno hangul, espacio de ancho cero, espacio de no separación, espacio numérico |
| Filtro de caracteres ocultos | Caracteres ignorables por defecto (U+200B, U+3164 y otros) | El espacio braille y los espacios en blanco |
Ni siquiera "quitar espacios" significa lo mismo en todas partes. JavaScript considera el espacio de no separación un espacio en blanco, mientras que Character.isWhitespace de Java lo deja fuera. Un texto con sangría de espacios de no separación puede sobrevivir en una app y desaparecer en otra. Las vistas previas Si lo pegas tal cual y Si lo pegas convertido suponen el caso más estricto: una app que borra los espacios en blanco de los dos extremos de cada línea, reduce los espacios repetidos a uno y elimina las líneas vacías.
Límites de caracteres y caracteres ocultos
Los caracteres ocultos también cuentan para el límite. La tabla recoge los límites y las reglas de recuento de la documentación pública para desarrolladores de cada plataforma. La documentación de Instagram no indica la unidad, así que esta herramienta cuenta caracteres Unicode (puntos de código).
| Dónde | Límite | Cómo cuenta | Un espacio braille |
|---|---|---|---|
| Pie de foto de Instagram | 2.200 | Hasta 2.200 caracteres, 30 hashtags, 20 etiquetas @ (unidad no indicada) | 1 |
| Publicación de Threads | 500 | 500 caracteres, el emoji cuenta como bytes UTF-8 | 1 |
| Publicación de X | 280 | Los puntos de código 0–4351, 8192–8205, 8208–8223 y 8242–8247 cuentan 1, el resto cuenta 2, emoji 2, enlaces 23 | 2 |
| Descripción de TikTok | 2.200 | Unidades UTF-16 | 1 |
Por la misma razón por la que los caracteres CJK cuentan 2 en X, el espacio braille (U+2800 = 10240) cuenta 2. El espacio de ancho cero (U+200B = 8203) cae en el rango 8192–8205, así que cuenta 1, y el espacio de no separación (U+00A0 = 160) también cuenta 1. Al convertir el ejemplo por defecto "Ruta de domingo" se añaden 8 caracteres ocultos; en Instagram el total se queda en 139, porque los espacios sustituidos compensan los caracteres nuevos de las líneas en blanco, mientras que en X el recuento pasa de 139 a 147.
Ejemplo: una publicación de ruta de domingo
Este es el primer ejemplo cargado en el área de trabajo, convertido con los ajustes por defecto. Cada celda rayada es un espacio braille y ␣ es un espacio normal. La columna "Si lo pegas tal cual" imita una app que recorta los extremos de línea, reduce los espacios repetidos y elimina las líneas en blanco.
| Línea | Original | Convertido | Si lo pegas tal cual |
|---|---|---|---|
| 1 | Mi ruta del domingo | Igual | Igual |
| 2–3 | 2 líneas en blanco | 2 líneas de ⠀ | Desaparecen |
| 4 | Hoy caminé un poco más lejos. | Igual | Igual |
| 5 | ␣␣· Pasos 14.200 | ⠀· Pasos 14.200 | Sangría perdida |
| 6 | ␣␣· Tiempo 2 h 10 min | ⠀· Tiempo 2 h 10 min | Sangría perdida |
| 7 | línea en blanco | ⠀ | Desaparece |
| 8 | El aire␣␣␣␣estaba perfecto. #otoño␣␣#senderismo | El aire⠀⠀␣estaba perfecto. #otoño⠀␣#senderismo | Un espacio en cada hueco |
Pegadas tal cual, las 8 líneas se quedan en 5 y la sangría de la lista desaparece; el texto convertido conserva las 8 líneas y la sangría. Si cambias el carácter de espaciado al espacio de no separación, las sangrías de las líneas 5 y 6 y los huecos de la línea 8 vuelven a ser espacios en blanco, así que la misma limpieza los borraría.
Errores frecuentes
- Rellenar una línea en blanco solo con espacios normales: una línea que rellenaste con la barra espaciadora es una línea solo de espacios, y la limpieza la quita igual que una vacía.
- Sangrar con espacios de no separación: es lo que más se parece al original, pero sigue siendo un espacio en blanco y puede borrarse al principio de la línea. Si aparece el aviso, cambia al espacio braille.
- Rellenar el espacio entre hashtags solo con caracteres ocultos: sin nada que los separe, dos etiquetas pueden pegarse. Esta herramienta deja el último hueco como espacio normal.
- Dejar una línea en blanco al final de la publicación: un carácter oculto en la última línea deja una cola invisible. Esta herramienta omite las líneas en blanco del principio y del final.
- Editar el texto convertido y publicarlo tal cual: una línea en blanco que añades dentro de la app vuelve a ser una línea en blanco normal. Vuelve a pegar el texto editado en la caja y conviértelo otra vez.
- Medir el límite de X con las reglas de Instagram: X cuenta los caracteres CJK y el espacio braille como 2. Revisa por separado la fila de X en las barras de caracteres.
Limitaciones
- Cómo limpian los espacios las apps no es público y puede cambiar con las actualizaciones. La vista previa es un modelo del caso más estricto y no reproduce la pantalla de ninguna app en concreto.
- El ancho del espacio braille y del relleno hangul lo decide la fuente. Los anchos de la caja de caracteres de espacio se miden con la fuente de tu pantalla, así que pueden variar en otro dispositivo.
- El espacio braille es un símbolo braille en Unicode. Un lector de pantalla puede leer su nombre en voz alta y la búsqueda puede tratarlo como una letra, así que conviene no repartirlo por todo un texto largo.
- Algunos servicios bloquean nombres o textos formados por caracteres invisibles. Revisa las reglas del servicio antes de usar un carácter de la caja como nombre.
- Los límites de caracteres salen de la documentación pública para desarrolladores comprobada el 21 de octubre de 2026. El límite que muestra una app puede diferir de la documentación, y la de Instagram no indica la unidad de recuento.
- Esta herramienta solo trata como enlaces las direcciones que empiezan por http:// o https:// y cuenta cada una como 23 en X. En X, un dominio escrito sin más, como roberin.com, también puede convertirse en enlace y contar 23.
Fuentes
Base: las propiedades de los caracteres salen de los datos de Unicode 18.0, las reglas de limpieza de espacios de los documentos de ECMAScript, CSS Text 3 y Java SE 21, y los límites de caracteres de la documentación para desarrolladores de cada plataforma, todo comprobado el 21 de octubre de 2026.
- 01Unicode 18.0 — PropList.txtPropiedad White_Space: U+0020, U+00A0, U+2000–200A, U+3000 y otros; U+200B, U+2800 y U+3164 no están incluidos
- 02Unicode 18.0 — DerivedCoreProperties.txtDefault_Ignorable_Code_Point: incluye U+200B y U+3164, no U+2800
- 03Unicode 18.0 — NamesList.txtU+2800 se dibuja "como hueco de ancho fijo en muchas fuentes, pero no actúa como espacio"; notas de ancho de U+00A0, U+2002, U+2009 y U+200A
- 04Unicode Standard Annex #44 — Unicode Character DatabasePuntos de código ignorables por defecto: rangos que el software no dibuja si no los admite
- 05ECMAScript Language Specification — White SpaceWhiteSpace = TAB, VT, FF, ZWNBSP y todo Zs; el rango que quita String.prototype.trim
- 06CSS Text Module Level 3 — 4.1 White Space Processing RulesEl procesamiento de espacios solo se aplica a U+0020, U+0009 y los saltos de segmento
- 07Java SE 21 — Character.isWhitespaceEntre los caracteres de espacio, U+00A0, U+2007 y U+202F no se consideran espacio en blanco
- 08Meta — Instagram Graph API, IG User Mediacaption: hasta 2.200 caracteres, 30 hashtags, 20 etiquetas @
- 09Meta — Threads API, PostsPublicaciones de texto de hasta 500 caracteres, el emoji cuenta como bytes UTF-8
- 10X — Counting characters280 caracteres, emoji 2, enlaces 23, caracteres CJK 2
- 11twitter-text — config/v3.jsonPeso 1 para los rangos 0–4351, 8192–8205, 8208–8223 y 8242–8247; 2 para todo lo demás
- 12TikTok — Content Posting API, Direct Posttitle (descripción) de hasta 2.200 unidades UTF-16; los hashtags y las menciones se separan con espacios o saltos de línea
Preguntas frecuentes
¿Por qué desaparecen las líneas en blanco al publicar en Instagram?
Muchas apps recortan los espacios al principio y al final de cada línea y reducen los espacios repetidos a uno cuando guardan o muestran una publicación. Una línea vacía o solo con espacios cuenta como vacía en esa limpieza y puede desaparecer. Si pones en la línea un espacio braille (U+2800), que no es un espacio en blanco, pasa a ser una línea con un carácter y tiene muchas posibilidades de quedarse. Las apps no publican cómo procesan realmente el texto, así que revisa la vista previa antes de publicar.
¿Qué diferencia hay entre el espacio braille (U+2800) y el relleno hangul (U+3164)?
El espacio braille se clasifica como símbolo (So) y no es ni espacio en blanco ni ignorable por defecto. La lista de caracteres de Unicode dice que muchas fuentes lo dibujan como hueco de ancho fijo, pero que no actúa como espacio. El relleno hangul se clasifica como letra (Lo) pero es ignorable por defecto, así que los servicios que filtran caracteres invisibles pueden borrarlo o bloquearlo.
¿Por qué la herramienta avisa si elijo el espacio de no separación?
El espacio de no separación (U+00A0) tiene el mismo ancho que un espacio normal, por eso es el que más se parece, pero tiene la propiedad White_Space de Unicode. Una limpieza que recorta los extremos de línea, como el trim de JavaScript, borra la sangría, y una limpieza que reduce los espacios repetidos convierte un tramo en un solo espacio. El aviso te informa de ese riesgo y con un toque vuelves al espacio braille.
¿Los caracteres ocultos suman al recuento de caracteres?
Pueden sumar. Cada línea en blanco añade un carácter, mientras que una sangría se acorta porque dos espacios pasan a ser un espacio braille. X da un peso a cada carácter: U+2800, U+3164 y U+3000 cuentan 2, y U+200B y U+00A0 cuentan 1. La parte rayada de las barras de caracteres es lo que ocupan los caracteres ocultos que añadiste.
¿Qué pasa con los espacios entre hashtags?
Al convertir un tramo de espacios, el último hueco se queda como espacio normal. Por ejemplo, los dos espacios entre '#otoño' y '#senderismo' pasan a ser un espacio braille y un espacio normal. Los hashtags y las menciones se separan con espacios o saltos de línea, así que sustituir todos los espacios por caracteres ocultos podría pegar dos etiquetas.
¿Cómo copio un solo carácter invisible?
Pulsa el carácter que quieras en la caja de caracteres de espacio, bajo el área de trabajo, y se copia ese único carácter. Cada celda indica su ancho en la fuente de tu pantalla, si la limpieza de espacios lo conserva, si los filtros de caracteres ocultos lo detectan y cuántos caracteres cuenta X. Algunos servicios bloquean los nombres vacíos, así que revisa antes sus reglas.
¿Puedo volver a pegar un texto ya convertido?
Sí. Los espacios hechos solo del carácter elegido y caracteres como el espacio braille no se vuelven a convertir, así que dos conversiones con los mismos ajustes dan el mismo resultado. Si al editar el texto convertido añades líneas en blanco o espacios nuevos, solo cambian esas partes.
¿Dónde se guarda mi texto?
En ninguna parte. La conversión y el recuento de caracteres se hacen dentro de este navegador, y el texto no se envía a ningún servidor ni se guarda en la dirección ni en el almacenamiento. El botón Pegar lee el portapapeles solo cuando el navegador lo permite.