Política de privacidad
Qué hace Programming Utils con tus datos: lo menos posible. Sin cuenta, sin cookies, sin rastreo, y lo que escribes nunca se guarda.
Última actualización: 13 de noviembre de 2026
Quién gestiona este sitio
Programming Utils lo gestiona un particular, responsable del tratamiento de los datos de este sitio. Para cualquier pregunta sobre tus datos, o para ejercer tus derechos, escribe a x.com/hieinji.
Lo que escribes en las herramientas
La mayoría de las herramientas envían tu entrada a nuestro servidor para calcular el resultado. Se procesa en memoria solo para esa petición y después se descarta: nunca se guarda, se registra ni se comparte. Aun así, evita pegar contraseñas, claves u otros secretos en cualquier sitio web.
Tu dirección IP
Para proteger el servicio de abusos, el servidor cuenta las peticiones por dirección IP. La dirección se guarda solo en memoria y se olvida en menos de dos minutos: nunca se escribe en disco ni se usa para identificarte. Base jurídica: nuestro interés legítimo en mantener el servicio seguro y disponible (art. 6, apdo. 1, letra f del RGPD).
Alojamiento
Como cualquier sitio web, este funciona en un proveedor de alojamiento que gestiona la conexión de red, y por tanto tu dirección IP, para entregar las páginas. El proveedor actúa por cuenta nuestra mediante un acuerdo de tratamiento de datos.
Cookies y almacenamiento del navegador
No usamos cookies, servicios de analítica ni rastreo. El servidor solo cuenta cuántas veces se usa cada página y cada herramienta, como totales diarios: no se registra nada sobre quién las usó. El almacenamiento local de tu navegador solo recuerda el idioma y el tema claro u oscuro que elegiste: se queda en tu dispositivo y nunca se nos envía. Puedes borrarlo cuando quieras desde la configuración del navegador.
Tus derechos
Según el RGPD tienes derecho a acceder a tus datos, rectificarlos y suprimirlos, a limitar u oponerte a su tratamiento y a la portabilidad de los datos. Como no conservamos datos personales más allá de los dos minutos indicados arriba, normalmente no hay nada que entregar, pero escríbenos y te responderemos en un plazo de un mes. También puedes presentar una reclamación ante tu autoridad de protección de datos (en España, la AEPD).
Cambios
Si este sitio empieza a tratar datos de formas nuevas, por ejemplo para mostrar anuncios, esta página se actualizará antes.
Hash
Calcula el hash criptográfico (digest) de un texto, para checksums, claves de caché o para comparar valores. El texto se codifica en UTF-8.
Base64
Codifica texto en Base64 o decodifica Base64 a texto. Se usa en data URL, autenticación HTTP Basic, JWT y adjuntos de correo.
Codificar / decodificar URL
Codifica texto con percent-encoding para usarlo con seguridad en la query string de una URL, o decodifica un texto codificado a texto legible.
Codificación de formulario (application/x-www-form-urlencoded): los espacios se convierten en +.
Hex
Convierte texto en sus bytes UTF-8 en hexadecimal, o bytes hexadecimales en texto. Útil para inspeccionar codificaciones y datos binarios.
Escapar / desescapar XML
Sustituye los caracteres con significado especial en XML y HTML por entidades, o convierte las entidades de nuevo en caracteres.
Escapa & < > " '. Desescapar también admite referencias numéricas como A y A.
Conversor de mayúsculas
Convierte identificadores entre convenciones de nombres: camelCase, snake_case, kebab-case, CONSTANT_CASE y más.
Convierte mientras escribes. Cada línea se convierte por separado, así que puedes pegar una lista de nombres.
Líneas → Lista
Convierte una columna de valores (uno por línea) en una única lista delimitada, por ejemplo para una cláusula SQL IN o un array.
Split
Divide un texto en partes según un delimitador o una expresión regular y muestra cada parte con su índice.
Substring
Extrae una parte de un texto según la posición de los caracteres, contando desde 0.
Los índices negativos cuentan desde el final: inicio -3 devuelve los últimos 3 caracteres.
Transformar
Aplica una limpieza rápida al texto: ordenar o quitar líneas duplicadas, eliminar espacios o invertirlo.
Estadísticas
Cuenta caracteres, puntos de código Unicode, bytes UTF-8, palabras y líneas. Útil para comprobar límites de longitud de campos y mensajes.
Validador JSON
Comprueba que un texto es JSON válido, muestra exactamente dónde falla y lo formatea o minimiza. Las claves duplicadas se señalan como error.
Tester de regex
Prueba una expresión regular de Java sobre tu texto mientras escribes: las coincidencias se resaltan, con su posición y sus grupos de captura. También puedes probar un reemplazo.
Sintaxis de Java (java.util.regex), la de String.matches, Pattern y Spring. En el reemplazo, $1 o ${name} insertan un grupo.
Resultado del reemplazo
Generador de UUID
Genera identificadores únicos universales (UUID), de uno hasta 100 a la vez.
Los UUID v7 empiezan con una marca de tiempo, así que se ordenan por fecha de creación: una buena opción para claves de base de datos.
Generador de contraseñas
Genera una contraseña aleatoria robusta con un generador criptográficamente seguro. Nunca se guarda en caché.
La contraseña contiene al menos un carácter de cada tipo seleccionado.
Cadena aleatoria
Genera una cadena aleatoria con la longitud y los caracteres elegidos, para tokens, datos de prueba o identificadores.
POJO Java desde CSV
Pega la cabecera de un CSV y obtén un campo Java por columna, con el tipo adivinado. Añade algunas filas de datos debajo de la cabecera y los tipos se toman de los valores.
Valores: true/false/yes/no → Boolean, enteros → BigInteger, decimales → BigDecimal, 2026-01-01 → LocalDate, 2026-01-01 09:30 → LocalDateTime, todo lo demás → String. Se usan tipos wrapper porque una celda vacía significa null; elige tipos primitivos cuando todas las filas tengan valor.
Conversor de timestamp
Convierte un timestamp Unix (epoch) en una fecha legible y al revés. Pega segundos, milisegundos o una fecha como 2026-01-01T09:00:00Z: la unidad se reconoce automáticamente.
Ahora, milisegundos Unix
Cómo funciona
¿Qué es un timestamp Unix? Cuenta los segundos desde el 1 de enero de 1970 a las 00:00 UTC (el "epoch"): es el mismo número en todo el mundo. La zona horaria solo importa al convertirlo en fecha.
¿Segundos o milisegundos? Linux (date +%s), PHP y la mayoría de las bases de datos usan segundos (hoy 10 dígitos). Java (System.currentTimeMillis()) y JavaScript (Date.now()) usan milisegundos (13 dígitos). Los microsegundos tienen 16 dígitos y los nanosegundos 19.
Conviene saber: el tiempo Unix ignora los segundos intercalares, y los sistemas de 32 bits que lo guardan como entero con signo se desbordan el 19 de enero de 2038 a las 03:14:07 UTC (el "problema del año 2038"). Usa valores de 64 bits (long en Java).
Expresión cron
Crea una programación y obtén la expresión cron para crontab de Linux, Spring (Java @Scheduled) y Quartz, con las próximas ejecuciones.
La hora final no se incluye: de 9 a 17 significa que la última ejecución es antes de las 17:00, así que nada se ejecuta por la noche.
Linux tiene 5 campos y no tiene segundos. Spring pone los segundos al principio (6 campos). Quartz también empieza por los segundos, admite un año opcional y exige ? en el día del mes o en el día de la semana. En Spring y Quartz los días se escriben con su nombre (MON-SUN) porque los dos los numeran de forma distinta (en Quartz 1 = domingo).
Comprobar una expresión
Muestra las próximas 5 ejecuciones, o qué falla en la expresión. Las expresiones de Linux siguen la regla de cron: si se indican el día del mes y el día de la semana, basta con que coincida uno de los dos.