🔐 Codificador/Decodificador URL
Herramienta para codificar caracteres especiales para uso seguro en URL, o decodificar URL codificadas a texto original.
📝 Texto de Entrada
✨ Resultado
💡 Ejemplos
https://example.com/search?query=헬로 월드&lang=kohttps%3A%2F%2Fexample.com%2Fsearch%3Fquery%3D%ED%97%AC%EB%A1%9C%20%EC%9B%94%EB%93%9C%26lang%3DkoLa codificación URL convierte caracteres especiales en formato codificado por porcentaje para transmisión segura en URL. Use Codificar para convertir caracteres especiales y Decodificar para restaurar el texto original.
Características Principales
1. Codificación URL (Encode)
Convierte caracteres especiales, tildes, espacios, etc. al formato de codificación por porcentaje (%XX).
Ejemplo:
Original: https://example.com/search?query=hola mundo&lang=es
Codificado: https%3A%2F%2Fexample.com%2Fsearch%3Fquery%3Dhola%20mundo%26lang%3Des
2. Decodificación URL (Decode)
Convierte URL codificadas por porcentaje a texto original legible.
Ejemplo:
Codificado: %68%6F%6C%61%20%6D%75%6E%64%6F
Decodificado: hola mundo
3. Funciones Convenientes
- Intercambiar textos: Intercambia rápidamente la entrada y el resultado
- Copiar: Copia el resultado al portapapeles
- Restablecer: Borra todas las entradas de una vez
Por Qué es Necesaria la Codificación URL
Transmisión Segura de URL
Algunos caracteres tienen un significado especial en las URL:
/: Separador de ruta?: Inicio de consulta&: Separador de parámetros=: Separador clave-valor#: Fragmento
Para transmitir estos caracteres como datos, es necesaria la codificación.
Español y Idiomas Internacionales
Original: https://example.com/búsqueda?palabra-clave=café
Codificado: https://example.com/b%C3%BAsqueda?palabra-clave=caf%C3%A9
Los caracteres con tilde o especiales no pueden usarse directamente en URL, la codificación es esencial.
Ejemplos de Uso
Desarrollo Web
// Creación de URL en JavaScript
const searchQuery = "café con leche";
const encodedQuery = encodeURIComponent(searchQuery);
const url = `https://api.example.com/search?q=${encodedQuery}`;
// Resultado: https://api.example.com/search?q=caf%C3%A9%20con%20leche
Llamada de API
# URL original (no funciona)
GET https://api.example.com/users?name=José&age=30
# URL codificada (funciona normalmente)
GET https://api.example.com/users?name=Jos%C3%A9&age=30
Parámetros de Consulta
# Término de búsqueda con caracteres especiales
Original: búsqueda=C++ & Java
Codificado: búsqueda=C%2B%2B%20%26%20Java
Caracteres Codificados
Caracteres Siempre Codificados
- Espacio:
→%20 - Caracteres con tilde:
á,é,í,ó,ú,ñetc. se codifican en varios bytes - Caracteres especiales:
!,@,#,$,%,^,&,*,(,),=,+,[,],{,}etc.
Ejemplos
! → %21
@ → %40
# → %23
$ → %24
% → %25
& → %26
= → %3D
+ → %2B
espacio → %20
á → %C3%A1
ñ → %C3%B1
Casos de Uso
🌐 Desarrollo Web
- Función de búsqueda: Convertir entrada de usuario a consulta URL
- Llamada de API: Codificación de parámetros de solicitud GET
- Nombres de archivo: Manejar nombres de archivo con caracteres especiales
📧 Enlaces de Correo Electrónico
<!-- Enlace mailto con asunto y cuerpo -->
<a href="mailto:test@example.com?subject=Hola&body=Pregunta importante">
<!-- Después de codificación -->
<a href="mailto:test@example.com?subject=Hola&body=Pregunta%20importante">
🔗 Compartir en Redes Sociales
// URL de compartir Facebook
https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fexample.com"e=Excelente%20art%C3%ADculo
// URL de compartir Twitter
https://twitter.com/intent/tweet?text=Noticias%20emocionantes&url=https%3A%2F%2Fexample.com
📊 Análisis de Datos
- Análisis de registros: Interpretar URL codificadas en registros de servidor web
- URL de seguimiento: Interpretar parámetros de Google Analytics, etc.
Consejos
¿Cuándo Codificar?
- ✅ Valores de parámetros de consulta:
?search=necesita codificación - ✅ Caracteres con tilde/especiales:
name=José - ✅ Espacios:
query=hello world - ❌ Dominio:
https://(ya son caracteres seguros) - ❌ Separadores de ruta:
/api/users(separadores intencionales)
URL Completa vs Solo Parámetros
// ❌ Método incorrecto: codificar URL completa
const wrong = encodeURIComponent("https://example.com/search?q=café");
// Resultado: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dcaf%C3%A9
// ✅ Método correcto: codificar solo el valor del parámetro
const query = encodeURIComponent("café");
const correct = `https://example.com/search?q=${query}`;
// Resultado: https://example.com/search?q=caf%C3%A9
Cuidado con la Doble Codificación
Original: café
1ra codificación: caf%C3%A9
2da codificación: caf%25C3%25A9
// ¡No codificar el mismo texto dos veces!
Uso por Lenguaje de Programación
JavaScript
// Codificación
const encoded = encodeURIComponent("café");
// Decodificación
const decoded = decodeURIComponent(encoded);
Python
from urllib.parse import quote, unquote
# Codificación
encoded = quote("café")
# Decodificación
decoded = unquote(encoded)
Java
import java.net.URLEncoder;
import java.net.URLDecoder;
// Codificación
String encoded = URLEncoder.encode("café", "UTF-8");
// Decodificación
String decoded = URLDecoder.decode(encoded, "UTF-8");
PHP
// Codificación
$encoded = urlencode("café");
// Decodificación
$decoded = urldecode($encoded);
Herramientas Relacionadas
- Codificador/Decodificador Base64 - Conversión de formato Base64
- Conversión de Mayúsculas/Minúsculas - Normalización de formato URL
- Eliminación de Caracteres Especiales - Limpieza de URL
Preguntas Frecuentes
P: ¿Qué parte de la URL debo codificar?
R: Codifique solo la parte de valor de los parámetros de consulta. No codifique el protocolo (https://), el dominio o los separadores de ruta (/).
P: ¿Por qué el espacio se representa con %20 y +?
R: %20 se puede usar en toda la URL, mientras que + solo representa el espacio en los parámetros de consulta. Generalmente es más seguro usar %20.
P: Obtengo un error de decodificación. R: El texto ingresado puede no estar en el formato correcto de codificación URL, o ya ser texto decodificado. Verifique nuevamente la URL codificada original.
P: ¿Qué sucede si codifico una URL ya codificada?
R: Se produce una doble codificación, dando resultados no deseados. Por ejemplo, %20 se convierte en %2520. Codifique solo una vez.