More free tools:  InstantLinkHub· Feexio· SwiftConvertHub

How to Add a Click-to-SMS Button to Your Website (2026 Guide)

Click-to-SMS button on a website

SMS has a 98% open rate — higher than email, push notifications, or social media. Adding a click-to-SMS button to your website is one of the fastest ways to put that channel to work. In this guide you'll get the exact HTML, learn why iOS and Android handle the link format differently, and walk away with five real-world use cases you can deploy today.

Why SMS Buttons Outperform Contact Forms on Mobile

Contact forms made sense when most web traffic came from desktops. In 2026, more than 60% of web sessions happen on mobile devices — and mobile users are not patient form-fillers. Every extra field you ask them to complete is a small reason to abandon the page. An SMS button removes all of that friction: one tap opens the messaging app with the number and message already populated. The visitor just hits send.

The numbers back this up. SMS messages have an average open rate of 98%, and 90% of texts are read within three minutes of receipt. Compare that to an average email open rate of around 20%, and it becomes clear why local businesses, service providers, and e-commerce brands are adding "Text Us" buttons alongside — or instead of — traditional contact forms.

There is also a psychological component. Texting feels informal and low-stakes in a way that submitting a form does not. A person who hesitates to "submit an inquiry" will often be perfectly happy to send a quick text. That difference in perceived effort translates directly into more leads.

The SMS Link Format: How It Works

The sms: URI scheme is the standard way browsers and apps trigger the native SMS application. The basic structure is:

sms:+1234567890

To include a pre-filled message body, you append a query string parameter. This is where iOS and Android diverge. iOS uses a semicolon (;) as the separator between the phone number and the body parameter, while Android uses a question mark (?). Most modern implementations use ? because Android is the dominant platform globally, and recent iOS versions also accept it:

sms:+1234567890?body=Hello%2C+I+saw+your+website

The body parameter value must be URL-encoded. Spaces can be written as %20 or as + (both are accepted). Commas become %2C, apostrophes become %27, and so on. Most SMS link generators handle this encoding for you automatically, so you can type a natural-language message and let the tool produce the correct URL.

HTML Code to Add a Click-to-SMS Button

The simplest implementation is a plain anchor tag. Wrap it in a <button>-styled element for visual impact, or use it inline as a text link — the underlying mechanism is the same:

<a href="sms:+12025551234?body=Hi%2C+I+saw+your+website">Text Us</a>

For a styled button that matches most site designs, add a class and a touch of CSS:

<a href="sms:+12025551234?body=Hi%2C+I+saw+your+website" class="sms-button"> 📱 Text Us Now </a> <style> .sms-button { display: inline-block; padding: 12px 24px; background: #25d366; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 1rem; } .sms-button:hover { background: #1da851; } </style>

Use InstantLinkHub's SMS Link Generator to build the encoded URL without touching the query string by hand. Paste in your phone number and message, copy the result, and drop it into your href.

iOS vs Android: Key Differences to Know

The separator character is the most documented difference between platforms. Older iOS versions (pre-iOS 8) required a semicolon: sms:+12025551234;body=Hello. Modern iOS (iOS 8 and later) accepts both the semicolon and the question-mark format, so the ?body= syntax works on virtually all current Apple devices. Android has always used ?, so sticking with the question-mark format gives you maximum cross-platform compatibility.

A second difference concerns URL encoding. Some older Android builds are stricter about encoded characters than iOS. The safest approach is to encode every non-alphanumeric character in the body text: encode spaces as %20 (more universally accepted than +), commas as %2C, and so on. If you use + for spaces and notice the plus sign appearing literally in the message on certain Android devices, switch to %20.

Testing tip: always test your SMS button on a real device for each major platform. Use Chrome's Developer Tools device emulation to check that the button renders correctly on small screens, but click the actual link on a physical iPhone and Android phone to confirm the native messaging app opens with the correct number and body text pre-populated.

5 Real Use Cases with Example Messages

The right pre-filled message does a lot of the work for your visitor. Here are five use cases with copy-ready examples:

1. Restaurant reservations. Place the button on your reservations page or Google Business profile link. Pre-fill: Hi%2C+I%27d+like+to+book+a+table+for+2+this+Saturday. Customers get their reservation started in one tap; you reply to confirm availability.

2. Real estate inquiries. Add to a property listing page. Pre-fill: Hi%2C+I+saw+the+listing+at+123+Main+St+and+have+a+question. Agents receive a warm lead with context; no cold calls required.

3. E-commerce customer support. Put it on order confirmation emails and the help page. Pre-fill: Hi%2C+I+need+help+with+my+order. Customers get a faster response than email; support teams can handle multiple texts simultaneously.

4. Appointment booking. Place on service pages for salons, clinics, and consultancies. Pre-fill: Hi%2C+I%27d+like+to+schedule+an+appointment. Bookings happen in a back-and-forth text exchange without any scheduling software required.

5. Event RSVP. Embed in event invitations or printed materials with a QR code. Pre-fill: Counting+me+in+for+the+April+30+event. Organizers get a real-time RSVP list without managing a separate registration platform.

Best Practices for Click-to-SMS Buttons

Encode spaces consistently. Use %20 for maximum cross-platform compatibility. The + sign works on most devices but can render as a literal plus on some Android builds. Keep your body text under 160 characters — that is the maximum length of a single SMS segment. Longer messages get split into multiple parts, which can arrive out of order or confuse recipients.

Test on both platforms before going live. Open the page on a real iPhone and a real Android device. Confirm the messaging app opens, the correct phone number appears, and the pre-filled message looks exactly as intended. Do not rely solely on emulators for this check.

Add a fallback contact method. Not every visitor is on a mobile device. Desktop users clicking an SMS link will typically see nothing happen, or their browser may show an error. Place a phone number, email address, or contact form alongside your SMS button so desktop visitors are not left without options. A simple "or call us at (202) 555-1234" next to the button solves this entirely.

Keep the button label clear and action-oriented. "Text Us," "Send a Text," or "Message Us Now" perform better than generic labels like "Contact" because they set the right expectation. The visitor should know before tapping that their messaging app is about to open.

If you're running SMS campaigns for your business and need to understand your payment processing costs, Feexio's fee calculators can help you model the true cost of each transaction — useful when SMS drives direct purchases or bookings that go through a payment processor.

Frequently Asked Questions

Does the SMS button work on desktop?

On desktop, the behavior depends on the operating system and what applications are installed. macOS users who have iPhone syncing enabled in the Messages app will see it open and can send from their computer. Windows users typically see the browser prompt them to choose an application, and unless they have an SMS-capable app installed (like Dell Mobile Connect or Phone Link), nothing will open. For this reason, always pair your SMS button with a fallback contact option — a phone number or email link — visible to all visitors regardless of device.

Can I pre-fill the phone number only without a message?

Yes. Simply omit the ?body= parameter entirely. The link sms:+12025551234 will open the messaging app with the phone number filled in but the message field empty. This is useful if you want visitors to compose their own message from scratch, or if your message would be different for each visitor and pre-filling would feel generic or out of place.

Is there a character limit for the pre-filled message?

There is no hard browser limit on the length of the body parameter in the URL, but SMS messages themselves are capped at 160 characters per segment (using standard GSM encoding). If the pre-filled message exceeds 160 characters, it will be sent as a multi-part message — the carrier splits it and the recipient sees multiple texts. Best practice is to keep pre-filled body text under 120 characters so the visitor can add their own details without accidentally pushing the message into multi-part territory.

Generate your SMS button link in seconds

Free, no signup required. Enter your phone number and message, get the ready-to-use HTML.

Open SMS Link Generator
VC

Victor A. Calvo S.

Software Engineer & Founder, InstantLinkHub

Victor A. Calvo S. is a software engineer and digital entrepreneur who builds practical, free tools for marketers, freelancers, and businesses worldwide. He is the creator of InstantLinkHub, Feexio, and SwiftConvertHub — three open-access platforms covering link generation, fee calculation, and unit conversion. Victor specialises in client-side web applications that respect user privacy: no accounts, no data collection, no paywalls. His writing focuses on making technical concepts accessible to non-developers — clear steps, no jargon.

El SMS tiene una tasa de apertura del 98%, superior al correo electrónico, las notificaciones push o las redes sociales. Añadir un botón de clic para SMS a tu sitio web es una de las formas más rápidas de aprovechar ese canal. En esta guía encontrarás el HTML exacto, aprenderás por qué iOS y Android manejan el formato del enlace de forma diferente y saldrás con cinco casos de uso reales que puedes poner en marcha hoy mismo.

Por qué los botones SMS superan a los formularios de contacto en móvil

Los formularios de contacto tenían sentido cuando la mayor parte del tráfico web provenía de escritorio. En 2026, más del 60% de las sesiones web ocurren en dispositivos móviles, y los usuarios móviles no tienen paciencia para rellenar formularios. Cada campo adicional que les pides completar es un pequeño motivo para abandonar la página. Un botón SMS elimina toda esa fricción: un toque abre la aplicación de mensajería con el número y el mensaje ya completados. El visitante solo tiene que pulsar enviar.

Los datos lo respaldan. Los mensajes SMS tienen una tasa de apertura media del 98%, y el 90% de los textos se leen en menos de tres minutos. Comparado con la tasa de apertura media del correo electrónico de alrededor del 20%, queda claro por qué empresas locales, proveedores de servicios y marcas de comercio electrónico están añadiendo botones "Escríbenos" junto a —o en lugar de— los formularios de contacto tradicionales.

También hay un componente psicológico. Enviar un mensaje de texto se percibe como algo informal y sin compromiso, de una manera que enviar un formulario no lo es. Una persona que duda en "enviar una consulta" estará perfectamente dispuesta a mandar un mensaje rápido. Esa diferencia en el esfuerzo percibido se traduce directamente en más leads.

El formato del enlace SMS: cómo funciona

El esquema de URI sms: es la forma estándar en que los navegadores y las aplicaciones activan la aplicación nativa de SMS. La estructura básica es:

sms:+1234567890

Para incluir un cuerpo de mensaje pre-rellenado, se añade un parámetro de cadena de consulta. Aquí es donde iOS y Android difieren. Las versiones antiguas de iOS (anteriores a iOS 8) requerían un punto y coma (;) como separador entre el número de teléfono y el parámetro body, mientras que Android siempre ha usado el signo de interrogación (?). Las implementaciones modernas usan ? porque Android es la plataforma dominante a nivel global y las versiones recientes de iOS también lo aceptan:

sms:+1234567890?body=Hola%2C+vi+tu+sitio+web

El valor del parámetro body debe estar codificado en URL. Los espacios pueden escribirse como %20 o como + (ambos son aceptados). Las comas se convierten en %2C, los apóstrofes en %27, etcétera. La mayoría de los generadores de enlaces SMS gestionan esta codificación automáticamente, por lo que puedes escribir un mensaje en lenguaje natural y dejar que la herramienta produzca la URL correcta.

Código HTML para añadir un botón de clic para SMS

La implementación más sencilla es una etiqueta de ancla simple. Envuélvela en un elemento con estilo de <button> para mayor impacto visual, o úsala como enlace de texto en línea: el mecanismo subyacente es el mismo:

<a href="sms:+12025551234?body=Hola%2C+vi+tu+sitio+web">Escríbenos</a>

Para un botón con estilo que encaje en la mayoría de los diseños web, añade una clase y algo de CSS:

<a href="sms:+12025551234?body=Hola%2C+vi+tu+sitio+web" class="sms-button"> 📱 Escríbenos ahora </a> <style> .sms-button { display: inline-block; padding: 12px 24px; background: #25d366; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 1rem; } .sms-button:hover { background: #1da851; } </style>

Usa el Generador de enlaces SMS de InstantLinkHub para construir la URL codificada sin tocar la cadena de consulta manualmente. Introduce tu número de teléfono y el mensaje, copia el resultado y pégalo en tu atributo href.

iOS vs Android: diferencias clave que debes conocer

El carácter separador es la diferencia más documentada entre plataformas. Las versiones antiguas de iOS (anteriores a iOS 8) requerían un punto y coma: sms:+12025551234;body=Hola. El iOS moderno (iOS 8 y posterior) acepta tanto el punto y coma como el formato de signo de interrogación, por lo que la sintaxis ?body= funciona en prácticamente todos los dispositivos Apple actuales. Android siempre ha usado ?, así que usar el formato de signo de interrogación te da la máxima compatibilidad multiplataforma.

Una segunda diferencia concierne a la codificación URL. Algunas versiones antiguas de Android son más estrictas con los caracteres codificados que iOS. El enfoque más seguro es codificar cada carácter no alfanumérico en el texto del cuerpo: codifica los espacios como %20 (más universalmente aceptado que +), las comas como %2C, etcétera. Si usas + para los espacios y observas que el signo más aparece literalmente en el mensaje en ciertos dispositivos Android, cambia a %20.

Consejo de prueba: siempre prueba tu botón SMS en un dispositivo real para cada plataforma principal. Usa las Herramientas para Desarrolladores de Chrome para verificar que el botón se renderiza correctamente en pantallas pequeñas, pero haz clic en el enlace real en un iPhone y un teléfono Android físicos para confirmar que la aplicación de mensajería nativa se abre con el número correcto y el texto del cuerpo pre-rellenado tal como se esperaba.

5 casos de uso reales con mensajes de ejemplo

El mensaje pre-rellenado correcto hace gran parte del trabajo por tu visitante. Aquí tienes cinco casos de uso con ejemplos listos para copiar:

1. Reservas de restaurante. Coloca el botón en tu página de reservas o en el enlace de tu perfil de Google Business. Pre-rellena: Hola%2C+me+gustar%C3%ADa+reservar+una+mesa+para+2+este+s%C3%A1bado. Los clientes comienzan su reserva con un solo toque; tú respondes para confirmar disponibilidad.

2. Consultas inmobiliarias. Añade en una página de listado de propiedades. Pre-rellena: Hola%2C+vi+el+anuncio+de+Calle+Mayor+5+y+tengo+una+pregunta. Los agentes reciben un lead calificado con contexto; no se necesitan llamadas en frío.

3. Soporte al cliente en e-commerce. Colócalo en los correos de confirmación de pedido y en la página de ayuda. Pre-rellena: Hola%2C+necesito+ayuda+con+mi+pedido. Los clientes obtienen una respuesta más rápida que por correo electrónico; los equipos de soporte pueden atender varios mensajes simultáneamente.

4. Reserva de citas. Colócalo en páginas de servicios para peluquerías, clínicas y consultorías. Pre-rellena: Hola%2C+me+gustar%C3%ADa+programar+una+cita. Las reservas se realizan a través de un intercambio de mensajes sin necesidad de ningún software de programación.

5. RSVP para eventos. Incrusta en invitaciones a eventos o materiales impresos con un código QR. Pre-rellena: Confirmo+mi+asistencia+al+evento+del+30+de+abril. Los organizadores obtienen una lista de confirmaciones en tiempo real sin gestionar una plataforma de registro separada.

Buenas prácticas para botones de clic para SMS

Codifica los espacios de forma consistente. Usa %20 para máxima compatibilidad multiplataforma. El signo + funciona en la mayoría de dispositivos pero puede aparecer literalmente como un signo más en algunas versiones de Android. Mantén el texto del cuerpo por debajo de los 160 caracteres: ese es el tamaño máximo de un segmento SMS individual. Los mensajes más largos se dividen en varias partes, que pueden llegar desordenadas o confundir a los destinatarios.

Prueba en ambas plataformas antes de publicar. Abre la página en un iPhone real y en un Android real. Confirma que la aplicación de mensajería se abre, aparece el número de teléfono correcto y el mensaje pre-rellenado se ve exactamente como se esperaba. No te fíes únicamente de los emuladores para esta verificación.

Añade un método de contacto alternativo. No todos los visitantes están en un dispositivo móvil. Los usuarios de escritorio que hacen clic en un enlace SMS típicamente no verán nada ocurrir, o su navegador puede mostrar un error. Coloca un número de teléfono, una dirección de correo electrónico o un formulario de contacto junto a tu botón SMS para que los visitantes de escritorio no se queden sin opciones. Un simple "o llámanos al (202) 555-1234" junto al botón soluciona esto por completo.

Mantén la etiqueta del botón clara y orientada a la acción. "Escríbenos", "Envía un mensaje" o "Contáctanos por SMS" funcionan mejor que etiquetas genéricas como "Contacto" porque establecen la expectativa correcta. El visitante debería saber antes de tocar que su aplicación de mensajería está a punto de abrirse.

Si estás gestionando campañas de SMS para tu negocio y necesitas entender tus costes de procesamiento de pagos, las calculadoras de comisiones de Feexio pueden ayudarte a modelar el coste real de cada transacción, algo muy útil cuando el SMS impulsa compras o reservas directas que pasan por un procesador de pagos.

Preguntas frecuentes

¿Funciona el botón SMS en escritorio?

En escritorio, el comportamiento depende del sistema operativo y de las aplicaciones instaladas. Los usuarios de macOS que tienen habilitada la sincronización con iPhone en la aplicación Mensajes verán cómo se abre y podrán enviar desde su ordenador. Los usuarios de Windows normalmente ven al navegador pedir que elijan una aplicación, y a menos que tengan instalada una aplicación compatible con SMS (como Dell Mobile Connect o Phone Link), nada se abrirá. Por esta razón, siempre empareja tu botón SMS con una opción de contacto alternativa —un número de teléfono o un enlace de correo— visible para todos los visitantes independientemente del dispositivo.

¿Puedo pre-rellenar solo el número de teléfono sin un mensaje?

Sí. Simplemente omite el parámetro ?body= por completo. El enlace sms:+12025551234 abrirá la aplicación de mensajería con el número de teléfono completado pero el campo de mensaje vacío. Esto es útil si quieres que los visitantes redacten su propio mensaje desde cero, o si tu mensaje sería diferente para cada visitante y pre-rellenarlo se sentiría genérico o fuera de lugar.

¿Hay un límite de caracteres para el mensaje pre-rellenado?

No hay un límite estricto del navegador en la longitud del parámetro body en la URL, pero los mensajes SMS en sí están limitados a 160 caracteres por segmento (usando codificación GSM estándar). Si el mensaje pre-rellenado supera los 160 caracteres, se enviará como un mensaje de varias partes: el operador lo divide y el destinatario ve múltiples textos. La mejor práctica es mantener el texto del cuerpo pre-rellenado por debajo de los 120 caracteres para que el visitante pueda añadir sus propios detalles sin que el mensaje entre accidentalmente en territorio de múltiples partes.

Genera el enlace de tu botón SMS en segundos

Gratis, sin registro. Introduce tu número y mensaje, obtén el HTML listo para usar.

Abrir generador de enlaces SMS
VC

Victor A. Calvo S.

Ingeniero de Software & Fundador, InstantLinkHub

Victor A. Calvo S. es ingeniero de software y emprendedor digital que crea herramientas prácticas y gratuitas para profesionales del marketing, freelancers y empresas de todo el mundo. Es el creador de InstantLinkHub, Feexio y SwiftConvertHub, tres plataformas de acceso libre que cubren generación de enlaces, cálculo de comisiones y conversión de unidades. Victor se especializa en aplicaciones web del lado del cliente que respetan la privacidad del usuario: sin cuentas, sin recopilación de datos, sin barreras de pago.