Números romanos
Escriba un número entero del 1 al 3999 y obtenga su número romano estándar: 1994 se escribe MCMXCIV y 3999, MMMCMXCIX, listos para una portada, un esquema o un grabado. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 2 024
- Resultado
- MMXXIV
- Números romanos
- MMXXIV
Los números romanos estándar cifran enteros con siete letras: I, V, X, L, C, D y M. Este conversor admite un único entero de 1 a 3999 inclusive y devuelve la grafía sustractiva canónica que usan las guías de estilo modernas, las líneas de copyright, la numeración de esquemas y los exámenes. Introduzca 4 y recibirá IV, no IIII; introduzca 1994 y recibirá MCMXCIV; introduzca 3999 y recibirá MMMCMXCIX, el mayor valor que el alfabeto clásico puede escribir sin barras superiores.
Qué son los números romanos y cómo los escribe este conversor
Los números romanos estándar emplean siete letras cuyo valor no cambia: I vale uno, V cinco, X diez, L cincuenta, C cien, D quinientos y M mil. El estilo impreso moderno combina esas letras de mayor a menor, con seis pares sustractivos que evitan cuatro letras idénticas seguidas: IV para el cuatro, IX para el nueve, XL para el cuarenta, XC para el noventa, CD para el cuatrocientos y CM para el novecientos.
Este conversor aplica esa convención con una tabla de trece entradas recorrida de forma voraz: mientras el valor restante sea al menos el siguiente peso, se añaden las letras correspondientes y se resta el peso. El resultado es siempre la grafía canónica más corta y única, de modo que 4 pasa a IV y no a IIII, 9 a IX y no a VIIII, 44 a XLIV, 1990 a MCMXC y 2024 a MMXXIV.
Las esferas de reloj aditivas que imprimen IIII para el cuatro son una tradición tipográfica, no la forma sustractiva que devuelve este extremo. Aquí no hay letra para el cero, ni numerales negativos, ni glifos de fracción; eso exige otras notaciones. Las letras clásicas sin una barra vinculum se detienen en 3999, escrito MMMCMXCIX, y por eso el intervalo de enteros aceptado queda cerrado de uno a 3999.
Dónde se usa la conversión de entero a romano y qué no hace esta herramienta
Las editoriales siguen poniendo el año de copyright en números romanos en portadas, colofones y créditos de cine, por eso un año como 2026 debe convertirse en MMXXVI sin una hoja de cálculo improvisada. Los esquemas jurídicos y académicos numeran las secciones mayores I, II, III y mezclan marcas arábigas y romanas en las subsecciones; generar esas etiquetas desde un bucle de enteros evita errores de uno al insertar un capítulo.
Relojeros, inscripciones monumentales y exámenes también necesitan una sola grafía canónica para que correctores y grabadores no discutan entre IIII e IV. Esta capacidad es deliberadamente de un solo sentido: no analiza una cadena romana de vuelta a arábigo, no emite barras vinculum para valores iguales o superiores a 4000 y no codifica doceavos uncia ni otras unidades romanas fraccionarias. Si las necesita, use un conversor de numerales grandes o de fracciones en lugar de forzar este rango.
Fije en sus pruebas los enteros de referencia 4, 9, 44, 1994, 2024 y 3999; cubren todos los pares sustractivos y el límite superior. Mantenga n dentro de los topes publicados y obtendrá una cadena estable para estampar en créditos PDF, widgets de CMS y correctores de deberes, sin montar una biblioteca de composición tipográfica propia.
Qué puede hacer con ella
Años de copyright y créditos cinematográficos
Represente el año de una publicación o de una producción como número romano (por ejemplo 2026 a MMXXVI) en portadas, colofones y créditos finales.
Numeración de esquemas y cláusulas
Genere marcadores de sección I, II, III desde un bucle de enteros para que escritos jurídicos, temarios y tablas de contenido conserven la forma sustractiva canónica.
Preguntas frecuentes
¿Qué intervalo de enteros puede convertir a números romanos?
Números enteros de 1 a 3999 inclusive. No hay letra estándar para el cero, y 3999 (MMMCMXCIX) es el mayor valor que los símbolos clásicos pueden escribir sin una barra vinculum.
¿Por qué 4 se convierte en IV y no en IIII?
La notación sustractiva moderna escribe el cuatro como IV (uno antes de cinco) en lugar de cuatro letras I. El IIII aditivo de las esferas de reloj es una tradición tipográfica que este conversor no emite.
¿Puedo convertir una cadena romana de vuelta a un entero arábigo?
No. Esta página solo va de entero a romano.
¿Cómo se escribe 2026 en números romanos?
2026 se escribe MMXXVI: dos M para los dos mil, XX para el veinte y VI para el seis. Escriba el año y el conversor lo devuelve, listo para una portada, un colofón o unos créditos.
¿Qué valor tiene cada letra romana?
La I vale 1, la V 5, la X 10, la L 50, la C 100, la D 500 y la M 1000. Su valor nunca cambia; solo el orden decide si una letra suma o resta.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/conv/roman-numerals \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":2024}'const res = await fetch("https://api.kit.forhosting.com/conv/roman-numerals", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 2024
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/roman-numerals",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 2024
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/roman-numerals", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":2024}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":2024}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/roman-numerals", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"n": 2024
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.roman_numerals",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
min | 1 |
max | 3999 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
El cero, los negativos, las fracciones y los enteros fuera de ese intervalo cerrado fallan con invalid_input y no se facturan.
Contrato de entrada, comprobaciones de rango y el JSON de respuesta
Tras la coerción, el solucionador comprueba que n sea un número entero dentro del intervalo inclusivo de 1 a 3999. Si acierta, el cuerpo reproduce n como número, asigna roman y result a la misma cadena de letras en mayúsculas y omite las claves opcionales en lugar de ponerlas a null. Ejemplo: n igual a 2024 produce roman MMXXIV; n igual a 4 produce IV; n igual a 3999 produce MMMCMXCIX. Añada su propio código de presentación si necesita minúsculas o interpuntios; el contrato es siempre la cadena canónica en mayúsculas. Envíe por POST un objeto JSON con un único campo entero obligatorio llamado n. Se aceptan los alias value, number e integer para que formularios y SDK puedan reutilizar un nombre que ya exista en la carga. El valor puede llegar como entero JSON o como cadena de dígitos con un signo más opcional al frente; se rechazan fracciones, notación científica, cadenas vacías, arrays y texto no numérico como una cadena romana. El cero no es un numeral romano en este alfabeto, 4000 exigiría un vinculum o una M de más más allá del tope clásico de cuatro M, y los negativos no tienen letras estándar, de modo que esos casos lanzan invalid_input citando el campo n y no se facturan. El precio publicado es $0.002 por llamada correcta a la API.
Dónde se usa la conversión de entero a romano y qué no hace esta herramienta
Como el algoritmo es un recorrido breve de tabla, sin red y sin tokens de modelo, cada solicitud correcta se queda en el precio de nivel parse $0.002 y la validación fallida no consume saldo prepago.
Casos de integración
Deberes y comprobación de la guía de estilo
Permita que estudiantes y correctores confirmen que 4 es IV, 9 es IX y 1994 es MCMXCIV frente a la misma tabla voraz que usa la API.
Preguntas técnicas
¿Qué ocurre si envío 0, 4000 o un decimal?
La tarea falla con invalid_input. n debe ser un entero de 1 a 3999; las fracciones, el cero, los negativos y los valores por encima de 3999 quedan fuera de rango y no se facturan.
¿Cuánto cuesta el conversor de números romanos?
La herramienta del navegador es gratuita. Las solicitudes a la API usan saldo KIT prepago a $0.002 por llamada correcta; la entrada inválida no se factura.