⇄ConverterHub
ToolsBlogAboutGitHub
⇄ConverterHub

Free, privacy-first developer tools. Everything runs in your browser — no logs, no accounts, no server calls.

Site
  • All tools
  • Blog
  • About
  • Privacy
Maker
  • Shubham Singla ↗
  • GitHub ↗
© 2026 ConverterHub. All tools are free and client-side.Made for developers who ship.
  1. Home
  2. /
  3. Blog
  4. /
  5. URL encoding: the rules every API consumer gets wrong

URL encoding: the rules every API consumer gets wrong

I've lost count of the number of times I've seen URL encoding issues cause problems in production code. Just the other day, I was debugging an API integration that was failing beca

July 1, 2026·5 min read·By Shubham Singla
#urls#api#http
On this page
  1. Introduction to URL encoding
  2. Understanding encodeURI and encodeURIComponent
  3. Reserved characters in URLs
  4. Using a URL encoder
  5. Percent-encoded plus sign and %20
  6. Double-encoding disasters
  7. Common mistakes
  8. Is Base64 encryption?
  9. What is the difference between encodeURI and encodeURIComponent?
  10. How do I avoid double-encoding?
  11. What is the purpose of percent-encoding?
  12. Can I use HTML escape to encode URLs?
  13. What is the specification for URL encoding?
  14. Wrapping up

I've lost count of the number of times I've seen URL encoding issues cause problems in production code. Just the other day, I was debugging an API integration that was failing because of a misplaced plus sign in a query string. The API consumer was using a library that was double-encoding the URL, resulting in a percent-encoded plus sign that the server couldn't handle. It took a while to track down the issue, but it highlighted the importance of understanding the rules of URL encoding. A good URL encoder can help avoid these kinds of problems.

#TL;DR

  • URL encoding is a critical aspect of API consumption, but it's often misunderstood
  • encodeURI and encodeURIComponent are not interchangeable, and using the wrong one can cause issues
  • Reserved characters in URLs must be percent-encoded, but what counts as a reserved character can vary depending on the context
  • Double-encoding can lead to disasters, and it's essential to understand how to avoid it
  • Sometimes, the server is at fault, and it's not just a client-side issue

#Introduction to URL encoding

URL encoding is the process of converting characters in a URL to a format that can be safely transmitted over the internet. It's a critical aspect of API consumption, as it ensures that data is transmitted correctly and securely. However, URL encoding is often misunderstood, and using the wrong encoding scheme can cause issues. For example, using encodeURI instead of encodeURIComponent can result in incorrect encoding, leading to errors on the server-side.

#Understanding encodeURI and encodeURIComponent

encodeURI and encodeURIComponent are two commonly used functions in JavaScript for URL encoding. However, they serve different purposes and should not be used interchangeably. encodeURI is used to encode an entire URL, while encodeURIComponent is used to encode a component of a URL, such as a query string or a fragment. Using encodeURI on a query string can result in incorrect encoding, as it will not encode reserved characters such as & and =. On the other hand, using encodeURIComponent on an entire URL can result in double-encoding, which can lead to disasters.

const uri = 'https://example.com/path?query=string';
const encodedUri = encodeURI(uri);
console.log(encodedUri); // outputs: https://example.com/path?query=string

const queryString = 'query=string';
const encodedQueryString = encodeURIComponent(queryString);
console.log(encodedQueryString); // outputs: query%3Dstring

#Reserved characters in URLs

Reserved characters in URLs are characters that have special meaning in the context of a URL. These characters include &, =, +, and %, among others. When using a URL encoder, it's essential to understand what counts as a reserved character, as this can vary depending on the context. For example, in a query string, & and = are reserved characters, while in a fragment, # is a reserved character.

#Using a URL encoder

A good URL encoder can help avoid the pitfalls of URL encoding. When using a URL encoder, it's essential to understand the context in which the encoding is being used. For example, when encoding a query string, it's essential to use a function like encodeURIComponent to ensure that reserved characters are correctly encoded. You can paste it into our JSON formatter to see the encoded result. Additionally, when working with Base64 encoding, it's essential to use a function like the one provided in the Base64 encode decode tool to ensure that the encoding is correct.

#Percent-encoded plus sign and %20

One common issue with URL encoding is the percent-encoded plus sign. When a plus sign is used in a query string, it can be interpreted as a space, which can lead to issues on the server-side. To avoid this, it's essential to percent-encode the plus sign using %2B. Similarly, when using a space in a query string, it's essential to percent-encode it using %20.

const queryString = 'query=string+with+spaces';
const encodedQueryString = encodeURIComponent(queryString);
console.log(encodedQueryString); // outputs: query%3Dstring%2Bwith%2Bspaces

#Double-encoding disasters

Double-encoding can lead to disasters, as it can result in incorrect encoding and decoding of data. When using a URL encoder, it's essential to avoid double-encoding, as this can lead to issues on the server-side. To avoid double-encoding, it's essential to understand the context in which the encoding is being used and to use the correct encoding scheme.

#Common mistakes

  • Using encodeURI instead of encodeURIComponent on a query string
  • Not percent-encoding reserved characters in a URL
  • Double-encoding data, resulting in incorrect encoding and decoding
  • Not using a URL encoder to encode data, resulting in incorrect encoding
  • Using the wrong encoding scheme for the context, resulting in incorrect encoding
  • Not testing the encoding and decoding of data, resulting in issues on the server-side

#FAQ

#Is Base64 encryption?

Base64 is not encryption, but rather a method of encoding binary data as text. It's commonly used in APIs to transmit binary data, such as images, as text.

#What is the difference between encodeURI and encodeURIComponent?

encodeURI is used to encode an entire URL, while encodeURIComponent is used to encode a component of a URL, such as a query string or a fragment.

#How do I avoid double-encoding?

To avoid double-encoding, it's essential to understand the context in which the encoding is being used and to use the correct encoding scheme. You can use a URL encoder, such as the one provided in the URL encode decode tool, to ensure that data is correctly encoded.

#What is the purpose of percent-encoding?

Percent-encoding is used to encode characters in a URL that have special meaning, such as & and =, to ensure that they are transmitted correctly.

#Can I use HTML escape to encode URLs?

No, HTML escape is not suitable for encoding URLs. Instead, you can use a URL encoder, such as the one provided in the URL encode decode tool, or the HTML escape unescape tool for HTML encoding.

#What is the specification for URL encoding?

The specification for URL encoding is provided in the URL specification and the MDN documentation for encodeURIComponent.

#Wrapping up

In conclusion, URL encoding is a critical aspect of API consumption, but it's often misunderstood. Using the wrong encoding scheme or not percent-encoding reserved characters can lead to issues on the server-side. By understanding the rules of URL encoding and using a good URL encoder, developers can avoid common mistakes and ensure that their APIs are secure and reliable.

Related posts

All posts →
June 27, 2026 · 5 min read
URL encoding: the rules every API consumer gets wrong
When working with APIs, I've encountered my fair share of issues related to URL encoding. One particular problem that comes to mind is when a URL parameter contains special charact
June 25, 2026 · 4 min read
URL encoding: the rules every API consumer gets wrong
I've lost count of the number of times I've seen URL encoding issues cause problems in APIs. A recent example that comes to mind is when a colleague was trying to send a GET reques
June 18, 2026 · 5 min read
URL encoding: the rules every API consumer gets wrong
I've seen many cases where a simple API request fails due to incorrect URL encoding. For instance, when sending a GET request with a query parameter that contains special character