██╗ ██╗ ██████╗██╗ ██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗███╗ ██╗ ██████╗ ██╗ ██╗
╚██╗██╔╝██╔════╝██║ ██║██╔══██╗████╗ ██║██╔════╝ ██╔════╝████╗ ██║██╔═══██╗██║ ██║
╚███╔╝ ██║ ███████║███████║██╔██╗ ██║██║ ███╗█████╗ ██╔██╗ ██║██║ ██║██║ █╗ ██║
██╔██╗ ██║ ██╔══██║██╔══██║██║╚██╗██║██║ ██║██╔══╝ ██║╚██╗██║██║ ██║██║███╗██║
██╔╝ ██╗╚██████╗██║ ██║██║ ██║██║ ╚████║╚██████╔╝███████╗██║ ╚████║╚██████╔╝╚███╔███╔╝
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚══╝╚══╝
Real-time currency converter · Multi-language · Responsive
XChangeNow es un conversor de divisas en tiempo real que consulta tasas de cambio actualizadas directamente desde la ExchangeRate API. Está construido con JavaScript puro — sin frameworks, sin dependencias, sin complicaciones.
Convierte entre más de 150 monedas al instante, con banderas automáticas y soporte para español e inglés.
🌐 https://xchangenow.vixodev.site
| Feature | Descripción |
|---|---|
| 💱 Conversión en tiempo real | Tasas actualizadas en cada consulta vía API |
| 🌍 Múltiples divisas | Soporte para USD, EUR, CLP, ARS y más de 150 monedas |
| 🏳️ Banderas automáticas | Visualización de la bandera según la moneda seleccionada |
| 🌐 Multilenguaje | Interfaz disponible en Español e Inglés |
| 📱 Diseño responsive | Adaptado a móvil con menú hamburguesa |
| ⚡ Sin dependencias | 100% Vanilla JS, sin frameworks |
Frontend API & Recursos
───────── ──────────────
HTML5 ExchangeRate API → tasas de cambio
CSS3 FlagCDN → banderas de países
CSS3 FontAwesomeCDN → iconos
JavaScript ES6+
i18n
Usuario ingresa monto
↓
Selecciona moneda origen → destino
↓
fetch() → api.exchangerate-api.com
↓
Cálculo de conversión
↓
Resultado formateado con Intl.NumberFormat
XChangeNow/
├── index.html # Estructura principal, lógica, fetchAPI, validaciones
├── about.html # Sobre la web
├── contact.html # Mis redes sociales
└── favicon.ico
La aplicación consume la ExchangeRate API de forma gratuita y sin autenticación:
GET https://api.exchangerate-api.com/v4/latest/{CURRENCY}
El sistema de idiomas está implementado con un objeto translations en JavaScript. El contenido se actualiza dinámicamente sin recargar la página.
const translations = {
es: { /* textos en español */ },
en: { /* textos en inglés */ }
};Idiomas soportados:
- 🇪🇸 Español
- 🇺🇸 Inglés
fetch()para consumo asíncrono de la APIIntl.NumberFormatpara formateo localizado de monedaslastConversionpara gestión de estado entre conversiones- Manipulación del DOM sin librerías externas
- Eventos:
submit,change,DOMContentLoaded
- ✅ La cantidad debe ser mayor a
0 - ✅ No se permite convertir entre la misma moneda
- ✅ Manejo de errores de red y respuestas inválidas de la API
- Rápido
- Intuitivo
- Modo oscuro 🌙
- Ingles y español
Distribuido bajo la licencia MIT. Ver LICENSE para más información.
Hecho con 💚 por dev-vixo