Codificador / Decodificador de URL/ Codificar · Decodificar · Formulario
Codifica y decodifica URLs con encodeURIComponent, encodeURI o codificacion de formularios en tiempo real.
Codificar todos los caracteres especiales (recomendado, para valores de parámetros)
%20 / +!%21"%22#%23%%25&%26'%27+%2B/%2F=%3D?%3F@%40¿Esta herramienta resolvió tu problema?
¿Qué es la codificación URL
La codificación URL (codificación porcentual) convierte caracteres especiales en `%` seguido de dos dígitos hexadecimales. Las URLs solo允许 letras, números y少数 símbolos (`-_.~`). Otros caracteres como espacios (%20) o caracteres no ASCII deben ser codificados. Los navegadores codifican automáticamente las URL en la barra de direcciones,但 al construir URLs programáticamente, debes处理 la codificación手动mente.
Escenarios comunes de codificación URL
Pasar caracteres especiales en parámetros de consulta (ej: términos de búsqueda con `&` o `=`), envío de datos de formulario (POST usa codificación URL por defecto), solicitudes API con JSON o parámetros no ASCII, y URLs de callback OAuth. Usa `encodeURIComponent()` en JavaScript o `urllib.parse.quote()` en Python.
Ejemplos de codigo
// Encode a query parameter value
encodeURIComponent("Hello World! 中文")
// "Hello%20World!%20%E4%B8%AD%E6%96%87"
// Build a full query string (recommended)
const params = new URLSearchParams({
q: "hello world",
lang: "zh-CN",
page: "1",
});
params.toString()
// "q=hello+world&lang=zh-CN&page=1"
// Decode
decodeURIComponent("Hello%20World%21")
// "Hello World!"from urllib.parse import (
quote, unquote,
urlencode, quote_plus
)
# Encode single value
quote("Hello World! 中文")
# 'Hello%20World%21%20%E4%B8%AD%E6%96%87'
# Form encoding (spaces → +)
quote_plus("hello world")
# 'hello+world'
# Build query string
urlencode({"q": "hello world", "page": 1})
# 'q=hello+world&page=1'
# Decode
unquote("Hello%20World%21") # 'Hello World!'import "net/url"
// Encode a path segment
url.PathEscape("hello world/中文")
// "hello%20world%2F%E4%B8%AD%E6%96%87"
// Encode a query value
url.QueryEscape("hello world")
// "hello+world"
// Build query string
params := url.Values{}
params.Set("q", "hello world")
params.Set("lang", "zh-CN")
params.Encode()
// "lang=zh-CN&q=hello+world"
// Parse a URL
u, _ := url.Parse("https://example.com/search?q=hello+world")
u.Query().Get("q") // "hello world"# curl handles encoding automatically with --data-urlencode
curl -G https://api.example.com/search \
--data-urlencode "q=hello world 中文" \
--data-urlencode "page=1"
# Manual percent-encoding with Python
python3 -c "
import sys
from urllib.parse import quote
print(quote(sys.stdin.read().strip()))
" <<< "hello world 中文"
# Using jq to build encoded JSON body
curl -X POST https://api.example.com \
-H 'Content-Type: application/json' \
-d "$(jq -n --arg q 'hello world' '{query: $q}')"