## Table of Contents

- [Encoding](#encoding)

---

[API](https://microlink.io/docs/api/getting-started/overview)

[GUIDES](https://microlink.io/docs/guides) [MQL](https://microlink.io/docs/mql/getting-started/overview) [SDK](https://microlink.io/docs/sdk/getting-started/overview) [CARDS](https://microlink.io/docs/cards/getting-started/overview)

API GUIDES MQL SDK CARDS

Getting Started

[Overview](https://microlink.io/docs/cards/getting-started/overview)

[Editor](https://microlink.io/docs/cards/getting-started/editor)

[Presets](https://microlink.io/docs/cards/getting-started/presets)

[Query Variables](https://microlink.io/docs/cards/getting-started/query-variables)

[Embed](https://microlink.io/docs/cards/getting-started/embed)

Others

[Authentication](https://microlink.io/docs/cards/others/authentication)

[Encoding](https://microlink.io/docs/cards/others/encoding)

[Pricing](https://microlink.io/docs/cards/others/pricing)

API GUIDES MQL SDK CARDS

Getting Started

[Overview](https://microlink.io/docs/cards/getting-started/overview)

[Editor](https://microlink.io/docs/cards/getting-started/editor)

[Presets](https://microlink.io/docs/cards/getting-started/presets)

[Query Variables](https://microlink.io/docs/cards/getting-started/query-variables)

[Embed](https://microlink.io/docs/cards/getting-started/embed)

Others

[Authentication](https://microlink.io/docs/cards/others/authentication)

[Encoding](https://microlink.io/docs/cards/others/encoding)

[Pricing](https://microlink.io/docs/cards/others/pricing)

## Encoding

[Copy for LLM](https://microlink.io/docs/cards/others/encoding.md "Copy content for LLM")

\|

[View as Markdown](https://microlink.io/docs/cards/others/encoding.md "View content as Markdown")

**Microlink Cards** are shipped as stateful application, where the state is all time encoded in the URL.

That design decision has some tradeoff: Any modification over [presets](https://microlink.io/docs/cards/getting-started/presets) original code will be living into the URL, making it to looks very long. To avoid that, just

[add your preset](https://github.com/microlinkhq/cards/tree/master/src/components/presets)

.

Additonally, any value in the URL should be encoded properly to be consumed by [Microlink API](https://microlink.io/docs/api/getting-started/overview), meaning you need to use

[encodeURIComponent](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)

or equivalent.

Last, any other query parameter present into the URL that it isn't part of the query variable will be passed to [Microlink API](https://microlink.io/docs/api/getting-started/overview). You can see an

[example](https://github.com/microlinkhq/cdn/blob/master/src/banner.js#L32)

.

Last updated on January 10, 2026

[Edit on GitHub](https://github.com/microlinkhq/www/blob/master/src/content/docs/cards/others/encoding.md)