LINE URI Actions: 10,000-Character Limit and Desktop Links
LINE Messaging API URI actions now allow up to 10,000 characters in each of uri and altUri.desktop. LINE announced the increase on October 27, 2026. Update validators for these specific properties—not every URL or text field—and test the final encoded destination. For Flex Messages, a configured desktop alternative replaces uri on LINE for macOS and Windows; it is not a universal alternative for every message surface.
Key takeaways
- The larger limit applies to URI action destinations, not the number of buttons or the entire message.
- Validate the actual URI string you send, after constructing and encoding its parameters.
- Use
altUri.desktopfor supported Flex Message actions; do not rely on it in quick replies. - API acceptance, opening the destination, and completing a business action are separate checks.
What LINE changed—and what it did not
The official 2026 news archive records the October 27 change. The current URI action reference documents a 10,000-character maximum for both destination properties.
| Property | Current limit | Meaning |
|---|---|---|
uri | 10,000 characters | URI opened when the action is performed |
altUri.desktop | 10,000 characters | Alternative URI for LINE on macOS and Windows, where supported |
LINE documents the schemes http, https, line, and tel, and requires UTF-8 percent-encoding of the URI. An allowed scheme and an acceptable length do not establish that your destination exists or that the user can access it.
Keep the change narrowly scoped. Do not replace every maximum in your application with 10,000. Image URLs, labels, message text, and container structures have their own contracts. If the problem is too many choices rather than a long destination, use the separate LINE buttons-template alternatives guide.
Decide which link each client should open
According to LINE’s reference, when altUri.desktop is set, LINE for macOS and Windows ignores uri in favor of that alternative. The desktop property is supported for URI actions in Flex Messages and does not work in quick replies. The announcement also identifies Flex Messages as the surface using this desktop property; do not generalize it to template messages or rich menus.
This illustrative action object, not a complete send request, gives a Flex Message separate mobile and desktop destinations:
{
"type": "uri",
"label": "View details",
"uri": "https://example.com/mobile/orders/42",
"altUri": {
"desktop": "https://example.com/orders/42"
}
}
The URLs are examples, not working order pages. Embed the action only in a compatible message component and validate the complete message against LINE’s reference. If your flow instead shares a MINI App page, follow the custom action button and permanent-link workflow; a larger URI limit does not replace the correct MINI App link construction.
Audit the final URI, not just the editor input
Use this implementation checklist before enabling longer destinations:
- Find every local length gate. Inspect the editor, backend validation, message builder, and any SDK model used by your application. Update only checks for the two documented URI action properties. Verify your installed SDK rather than assuming every version already accepts the new limit.
- Construct before measuring. Assemble the destination and its query parameters, applying UTF-8 percent-encoding correctly. Check the resulting property value, not the unencoded text or the JSON document’s length. Do not percent-encode the entire URL as if it were one query value, or encode an already encoded value again.
- Validate both destinations independently. A valid mobile URI does not validate the desktop alternative. Make the desktop target usable outside your mobile-only flow, with its own authentication and unavailable-record handling.
- Keep authorization on the destination. As an application security practice, do not put API keys, session credentials, or unnecessary personal information in links. A longer field is not a reason to serialize an entire customer record into the query string. Prefer a server-authorized reference to the record.
- Test the rendered interaction. Confirm the complete message is accepted, then open the actual action on the intended mobile and desktop clients. Check the final landing page after redirects, not merely the URL generated by your builder.
For a regression suite, include values at and above the documented limit, non-ASCII query values after encoding, an independently invalid desktop URI, and a destination requiring login. These are proposed tests, not reported test results. Do not claim success from the send response alone.
Keep the UnifyPort contract separate
This change belongs to the official LINE Messaging API. UnifyPort’s normalized message support matrix does not document LINE Flex Message URI actions or an altUri.desktop sending field. Do not add that field to a UnifyPort request and assume native rendering support.
Use the official LINE integration when native interactive cards are required. UnifyPort’s unofficial interface addresses a different requirement: connecting an ordinary LINE account and processing supported conversations through normalized events. Review the LINE authorization guide for that account path. Neither the URI length increase nor the shared event envelope changes the identity or capabilities of the selected integration.
FAQ
Is the LINE URI action limit still 1,000 characters?
No. LINE’s October 27, 2026 announcement increased the URI action limit; the current reference specifies 10,000 characters for uri and altUri.desktop. Check local validators if they still reject longer values.
Will altUri.desktop work in a quick reply?
No. LINE explicitly says it does not work in quick replies. Use the documented Flex Message context and test the relevant desktop client.
Does this increase the button count or MINI App sharing permissions?
No. It changes the length of the specified URI action properties. Layout limits, sharing flows, authentication, and destination access remain separate concerns.
Next step and sources
Start by auditing your message builder against the LINE URI action reference. If you are choosing between native cards and normalized messaging, consult the UnifyPort message support matrix before implementing the send path.
Official sources checked on 2026-11-07:
Turn messaging integration into a stable product pipeline.
Start by sending through one API, then bring every inbound message back into your business system with standard events.