Usage Examples
This comprehensive guide provides practical examples for using the URL Encoder/Decoder Tool in various real-world scenarios, from simple text encoding to complex application integration.
Basic Examples
Simple Text Encoding
Input: Hello World!
Encoded: Hello%20World%21
Input: user@example.com
Encoded: user%40example.com
Input: 100% success rate
Encoded: 100%25%20success%20rate
Special Characters
Input: Price: $29.99 (on sale!)
Encoded: Price%3A%20%2429.99%20%28on%20sale%21%29
Input: C++ programming & web development
Encoded: C%2B%2B%20programming%20%26%20web%20development
Input: Search for "best practices"
Encoded: Search%20for%20%22best%20practices%22
Unicode and International Characters
Input: Café München
Encoded: Caf%C3%A9%20M%C3%BCnchen
Input: こんにちは世界
Encoded: %E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E4%B8%96%E7%95%8C
Input: Здравствуй мир
Encoded: %D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%20%D0%BC%D0%B8%D1%80
Web Development Examples
Query Parameter Encoding
Search Form
<!-- Original form -->
<form action="/search" method="GET">
<input name="q" value="JavaScript tutorials" />
<input name="category" value="web development" />
<input name="sort" value="most recent" />
</form>
<!-- Resulting URL -->
/search?q=JavaScript%20tutorials&category=web%20development&sort=most%20recent
Filter Parameters
Original Parameters:
- tags: ["javascript", "react", "node.js"]
- date_range: "2023-01-01 to 2023-12-31"
- author: "John Doe <john@example.com>"
Encoded Query String:
?tags=javascript&tags=react&tags=node.js&date_range=2023-01-01%20to%202023-12-31&author=John%20Doe%20%3Cjohn%40example.com%3E
API Integration
REST API Calls
// Building API endpoints with encoded parameters
const apiBase = 'https://api.example.com';
const searchTerm = 'React & Node.js tutorials';
const category = 'web development';
const tags = ['javascript', 'tutorial', 'beginner-friendly'];
// Encoded parameters
const encodedSearch = encodeURIComponent(searchTerm);
const encodedCategory = encodeURIComponent(category);
const encodedTags = tags.map((tag) => encodeURIComponent(tag)).join(',');
const apiUrl = `${apiBase}/search?q=${encodedSearch}&category=${encodedCategory}&tags=${encodedTags}`;
// Result: https://api.example.com/search?q=React%20%26%20Node.js%20tutorials&category=web%20development&tags=javascript%2Ctutorial%2Cbeginner-friendly
GraphQL Variables
// GraphQL query with encoded variables
const query = `
query GetUser($email: String!) {
user(email: $email) {
id
name
profile
}
}
`;
const variables = {
email: 'user+test@example.com',
};
// When sending via URL (GET request)
const encodedQuery = encodeURIComponent(query);
const encodedVariables = encodeURIComponent(JSON.stringify(variables));
const graphqlUrl = `${endpoint}?query=${encodedQuery}&variables=${encodedVariables}`;
Form Data Processing
Contact Form
<!-- Contact form with special characters -->
<form method="POST" action="/contact">
<input name="name" value="María José" />
<input name="email" value="maria@dominio.es" />
<textarea name="message">
Hi there! I'm interested in your services.
Can you provide more info about pricing & availability?
Best regards,
María</textarea
>
</form>
<!-- Encoded form data -->
name=Mar%C3%ADa%20Jos%C3%A9&email=maria%40dominio.es&message=Hi%20there%21%20I%27m%20interested%20in%20your%20services.%20%0ACan%20you%20provide%20more%20info%20about%20pricing%20%26%20availability%3F%0A%0ABest%20regards%2C%0AMar%C3%ADa
E-commerce Examples
Product URLs
Original Product Info:
- Name: "Women's Running Shoes - Size 7.5"
- Category: "Athletic Footwear & Accessories"
- SKU: "WRS-7.5-BLU/WHT"
Encoded Product URL:
/products/Women%27s%20Running%20Shoes%20-%20Size%207.5?category=Athletic%20Footwear%20%26%20Accessories&sku=WRS-7.5-BLU%2FWHT
Shopping Cart Parameters
Cart Items:
1. Product: "MacBook Pro 13" M2 (2022)"
Options: "Space Gray, 512GB SSD"
Quantity: 1
2. Product: "USB-C to USB-A Adapter"
Options: "White, 2-pack"
Quantity: 2
Encoded Cart URL:
/cart?item1=MacBook%20Pro%2013%22%20M2%20%282022%29&options1=Space%20Gray%2C%20512GB%20SSD&qty1=1&item2=USB-C%20to%20USB-A%20Adapter&options2=White%2C%202-pack&qty2=2
Social Media Integration
Share URLs
// Twitter share URL
const tweetText = 'Check out this amazing URL encoder tool! 🚀 #webdev #tools';
const url = 'https://example.com/url-encoder';
const hashtags = 'webdev,tools,development';
const twitterUrl = `https://twitter.com/intent/tweet?text=${encodeURIComponent(tweetText)}&url=${encodeURIComponent(url)}&hashtags=${encodeURIComponent(hashtags)}`;
// Result: https://twitter.com/intent/tweet?text=Check%20out%20this%20amazing%20URL%20encoder%20tool%21%20%F0%9F%9A%80%20%23webdev%20%23tools&url=https%3A%2F%2Fexample.com%2Furl-encoder&hashtags=webdev%2Ctools%2Cdevelopment
// Facebook share URL
const fbTitle = 'URL Encoder/Decoder Tool';
const fbDescription = 'Encode & decode URLs quickly and securely';
const fbImage = 'https://example.com/images/tool-preview.jpg';
const facebookUrl = `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}&title=${encodeURIComponent(fbTitle)}&description=${encodeURIComponent(fbDescription)}&picture=${encodeURIComponent(fbImage)}`;
LinkedIn Share
const linkedinTitle = 'Discover the Ultimate URL Encoding Tool';
const linkedinSummary =
'A comprehensive tool for encoding and decoding URLs with advanced features and security considerations.';
const linkedinSource = 'Developer Tools Collection';
const linkedinUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}&title=${encodeURIComponent(linkedinTitle)}&summary=${encodeURIComponent(linkedinSummary)}&source=${encodeURIComponent(linkedinSource)}`;
Analytics and Tracking
UTM Parameters
Campaign Information:
- Source: "newsletter"
- Medium: "email"
- Campaign: "summer sale 2023"
- Term: "discount shoes"
- Content: "header link"
Base URL: https://example.com/products/shoes
UTM Encoded URL:
https://example.com/products/shoes?utm_source=newsletter&utm_medium=email&utm_campaign=summer%20sale%202023&utm_term=discount%20shoes&utm_content=header%20link
Google Analytics Enhanced Ecommerce
// Enhanced ecommerce tracking parameters
const ecommerceData = {
ec: 'purchase',
ea: 'transaction',
el: 'Order #12345',
ev: 299.99,
tid: 'UA-12345678-1',
cid: 'user123',
ti: '12345',
ta: 'Online Store',
tr: 299.99,
ts: 15.0,
tt: 25.0,
cu: 'USD',
};
// Build encoded tracking URL
const trackingParams = Object.entries(ecommerceData)
.map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
.join('&');
const trackingUrl = `https://www.google-analytics.com/collect?${trackingParams}`;
File and Path Examples
File Upload URLs
Original File Names:
- "Project Proposal (Final Draft).pdf"
- "Images/Screenshot 2023-12-01 at 10.30.15 AM.png"
- "Code Examples/hello_world.js"
Encoded File URLs:
/uploads/Project%20Proposal%20%28Final%20Draft%29.pdf
/uploads/Images%2FScreenshot%202023-12-01%20at%2010.30.15%20AM.png
/uploads/Code%20Examples%2Fhello_world.js
API Endpoints with File Paths
// File management API
const fileName = 'user documents/tax_2023.xlsx';
const userId = 'user@company.com';
const action = 'download';
const apiEndpoint = `/api/files/${encodeURIComponent(fileName)}?user=${encodeURIComponent(userId)}&action=${action}`;
// Result: /api/files/user%20documents%2Ftax_2023.xlsx?user=user%40company.com&action=download
Authentication Examples
OAuth Redirect URLs
// OAuth authorization URL
const clientId = 'your-app-id';
const redirectUri = 'https://yourapp.com/auth/callback?state=success';
const scope = 'read:user read:email';
const state = 'random-state-string-123';
const authUrl = `https://github.com/login/oauth/authorize?client_id=${clientId}&redirect_uri=${encodeURIComponent(redirectUri)}&scope=${encodeURIComponent(scope)}&state=${state}`;
// Result: https://github.com/login/oauth/authorize?client_id=your-app-id&redirect_uri=https%3A%2F%2Fyourapp.com%2Fauth%2Fcallback%3Fstate%3Dsuccess&scope=read%3Auser%20read%3Aemail&state=random-state-string-123
JWT Token in URLs
// Secure token sharing (not recommended for sensitive data)
const token =
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
const verificationUrl = `https://example.com/verify?token=${encodeURIComponent(token)}`;
Advanced Scenarios
Multi-level Encoding
Original: https://example.com/search?q=hello world
First Encoding: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
Second Encoding: https%253A%252F%252Fexample.com%252Fsearch%253Fq%253Dhello%2520world
// Use case: Passing URLs as parameters
const baseUrl = "https://proxy.example.com/fetch";
const targetUrl = "https://api.example.com/search?q=hello world";
const proxyUrl = `${baseUrl}?url=${encodeURIComponent(targetUrl)}`;
Batch Processing Example
// Processing multiple URLs
const urls = [
'https://example.com/page with spaces',
'https://example.com/search?q=hello&world',
'https://example.com/user@email.com',
'https://example.com/path/to/file (copy).txt',
];
const encodedUrls = urls.map((url) => {
try {
return encodeURIComponent(url);
} catch (error) {
console.error(`Failed to encode: ${url}`, error);
return url; // Return original on error
}
});
console.log(encodedUrls);
// Results:
// [
// "https%3A%2F%2Fexample.com%2Fpage%20with%20spaces",
// "https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%26world",
// "https%3A%2F%2Fexample.com%2Fuser%40email.com",
// "https%3A%2F%2Fexample.com%2Fpath%2Fto%2Ffile%20%28copy%29.txt"
// ]
Error Handling Examples
Malformed Input Handling
// Handling malformed percent encoding
const malformedInputs = [
'hello%world', // Invalid % encoding
'test%2', // Incomplete % encoding
'data%GG', // Invalid hex digits
'normal text', // No encoding needed
];
malformedInputs.forEach((input) => {
try {
const decoded = decodeURIComponent(input);
console.log(`✓ Decoded: ${input} → ${decoded}`);
} catch (error) {
console.log(`✗ Failed: ${input} - ${error.message}`);
// Fallback: treat as literal text
console.log(` Treating as literal: ${input}`);
}
});
These examples demonstrate the versatility and practical applications of URL encoding/decoding across various web development scenarios. Use them as templates for your own implementations and adapt them to your specific use cases.