Feedback Widget

Embed a beautiful feedback widget on any website with a single line of code. Zero dependencies, works everywhere.

<2KBZero DependenciesPrivacy First
Quick Start
Add tnyvoice widget to your website in seconds

Installation

Add this script tag to your HTML, just before the closing </body> tag:

<script
  src="https://voice.sury.app/widget/v1/widget.min.js"
  data-feedback-url="https://voice.sury.app/f/your-org-slug"
></script>

💡 Replace your-org-slug with your organization's slug. Get your personalized code →

Zero Dependencies

<2KB gzipped - loads instantly

Works Everywhere

HTML, React, Vue, WordPress, any website

Privacy First

No tracking, no cookies, HTTPS only

Simple Setup

One line of code - that's it

Framework Examples
Integration guides for popular frameworks

Plain HTML

<!DOCTYPE html>
<html>
<head>
  <title>My Website</title>
</head>
<body>
  <!-- Your content -->

  <!-- tnyvoice Widget -->
  <script
    src="https://voice.sury.app/widget/v1/widget.min.js"
    data-feedback-url="https://voice.sury.app/f/your-org-slug"
  ></script>
</body>
</html>
Configuration Options
Customize the widget appearance and behavior

Position

Control where the widget button appears on your page:

<script
  src="https://voice.sury.app/widget/v1/widget.min.js"
  data-feedback-url="https://voice.sury.app/f/your-org"
  data-position="bottom-right"
></script>

Available positions: bottom-right (default), bottom-left, top-right, top-left

Custom Styling

Override widget styles to match your brand:

<style>
  /* Customize button */
  button[data-tnyvoice-button] {
    background: #your-color !important;
  }

  /* Customize form */
  div[data-tnyvoice-form] {
    border-radius: 16px !important;
  }
</style>

Programmatic Control

Control the widget via JavaScript:

// Open widget programmatically
window.tnyvoice.widget.open()

// Close widget
window.tnyvoice.widget.close()

// Check if open
console.log(window.tnyvoice.widget.isOpen)
Privacy & Security
Built with privacy and security as top priorities

No Tracking

Widget doesn't track users or set cookies

Rate Limiting

Automatic spam prevention (10 submissions per hour)

HTTPS Only

All data transmitted over secure connections

CORS Enabled

Works on any domain without configuration

Troubleshooting
Common issues and solutions

Widget not appearing?

  • Check console for errors
  • Verify your feedback URL is correct
  • Ensure script is loaded: console.log(window.tnyvoice)

Form not submitting?

  • Check network tab for API errors
  • Verify organization exists at your feedback URL
  • Check if free tier limit reached (10 items)
Ready to add the widget?
Get your personalized installation code