Saltar al contenido principal

🔐 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

Original:
https://example.com/search?query=헬로 월드&lang=ko
Codificado:
https%3A%2F%2Fexample.com%2Fsearch%3Fquery%3D%ED%97%AC%EB%A1%9C%20%EC%9B%94%EB%93%9C%26lang%3Dko

La 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&quote=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

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.