Terms of Service

Last updated: June 16, 2026

1. Agreement to Terms

These Terms of Service ("Terms") form a legally binding agreement between you and PixToCode (operated by Zarko Savic, based in Uzice, Serbia) ("we", "us", "our"). By accessing or using our Figma plugin, website at pixtocode.com, or any related services ("Service"), you agree to be bound by these Terms.

If you do not agree to these Terms, do not use the Service.

2. Description of Service

PixToCode is a Figma plugin and web service that uses AI (powered by Anthropic's Claude) to convert design files into production-ready code. Capabilities include:

  • Generating React (TypeScript), Angular (standalone components, split into .component.ts / .component.html / optional .scss), Vue 3, or HTML output, all with Tailwind CSS by default.
  • Optionally targeting a UI library preset — shadcn/ui, Material UI, Chakra UI, or Ant Design on React, or Angular Material on Angular — so the output uses the library's primitives directly.
  • Refining previously generated code through plain-English instructions.
  • Generating multiple components in a single batch when several Figma frames are selected at once.
  • Detecting Figma Component variants and emitting a single prop-driven component instead of one file per variant.
  • Saving each generation (code, framework, prompt, thumbnail, frame name) to a per-account history that you can browse, reload into the plugin, or delete.
  • Previewing the generated component in a sandboxed browser tab — either inline via a hosted preview page, or through CodeSandbox for output that targets a UI library.
  • Splitting a single Figma frame into multiple sub-component files in the generated output ("Split into sub-components" toggle), with the editor surfacing each file and offering a one-click ZIP export.
  • Optionally connecting a GitHub repository through our "pixtocode-context" GitHub App (or pasting tokens manually on the dashboard) so the AI can match your project's design tokens and path aliases. The integration is read-only (contents:read, metadata:read) and can be disconnected at any time.

3. Availability

PixToCode is published on the Figma Community marketplace and can be installed directly from there. Your account, license key, and subscription continue to work without any migration step.

We may continue to ship updates, new features, and bug fixes after launch. Material changes that affect pricing or the scope of the Service will be communicated under section 13 (Changes to Terms).

4. Account Registration

To access features, you must create an account with a valid email address. You are responsible for:

  • Maintaining the security of your account credentials
  • All activities that occur under your account
  • Providing accurate and current information
  • Notifying us immediately of any unauthorized access

You must be at least 16 years old to use the Service.

5. Subscription Plans and Payment

5.1 Plans

  • Free Trial: 5 total generations (one-time lifetime limit) — $0
  • Pro: 100 generations per month — $20/month
  • Power: 250 generations per month — $39/month
  • Team: 600 generations per month, 5 seats included, shared monthly pool — $99/month. Scales between 5 and 10 seats from the Team dashboard at $20 per extra seat, with each extra seat adding 120 generations to the shared pool. For 11+ seats, contact us for Enterprise pricing.

5.2 Billing

Paid subscriptions are billed monthly in advance through Lemon Squeezy, our Merchant of Record. Prices are in US Dollars (USD) and exclude applicable taxes, which Lemon Squeezy calculates and collects based on your billing location.

5.3 Automatic Renewal

Subscriptions automatically renew at the end of each billing period unless canceled before the renewal date. You can cancel your subscription at any time directly from your PixToCode dashboard, through the Lemon Squeezy customer portal link we surface there, or by contacting support. Cancellation stops future renewals but does not refund the current cycle — access continues through to the cycle's end and is then revoked.

5.4 Usage Limits

For paid plans, generation counts reset exactly one month from your billing date. Unused generations do not roll over to the next billing cycle. If you exceed your plan's limit, you must upgrade to a higher tier or wait for your cycle to reset. The Free Trial limit is a one-time allowance and does not reset.

5.5 Generation Limits, Counting Rules, and Truncation

Each PixToCode plan includes a monthly quota of generations:

  • Free plan: 5 generations (one-time lifetime allowance)
  • Pro plan: 100 generations per month
  • Power plan: 250 generations per month
  • Team plan: 600 generations per month shared across 5 seats, expandable to 1200 generations across 10 seats at $20 per extra seat.

A "generation" is any successful, non-truncated call to our AI pipeline. The following actions each count as one generation:

  • Generating code for a single Figma frame.
  • Refining previously generated code with a plain-English instruction.
  • Each frame inside a multi-frame batch — selecting N frames and pressing Generate consumes N generations, one per frame. The plugin shows the credit cost before you press Generate.

Occasionally, particularly complex Figma designs may exceed our maximum output size, resulting in truncated or incomplete code. When this happens, no partial code is delivered to ensure you only receive complete, working code.

To protect users from being charged for unusable output, each plan includes a monthly allowance of "free retries" — truncated generations that do not count against your quota:

  • Free plan: 1 free retry per month
  • Pro plan: 5 free retries per month
  • Power plan: 12 free retries per month
  • Team plan: 5 free retries per seat per month. Retries are bound to the seat, not the email — if a seat's retries are spent, swapping in a different member does not reset them until the next billing cycle.

For paid plans, free retries reset on your billing date along with your generation quota. For Free plan users, free retries reset on the 1st of each calendar month. Once your free retries for the period are used, subsequent truncated generations will count against your generation quota (or, for Team, against the shared team pool).

For best results with complex designs, we recommend selecting smaller frame sections (individual components, single sections like a navbar or hero) rather than entire pages.

5.6 Team Plan

The Team plan provisions a shared generation pool and a fixed number of seats (5 by default, scalable to 10). The Team subscriber (the "admin") manages the seat list from the Team dashboard and is solely responsible for which email addresses they authorise. The admin is not added to a seat automatically — to use the plugin themselves, they must add their own email to the seat list.

Team members authenticate with the shared Team license key plus their whitelisted email. Generations made by any member count against the same monthly pool. Free retries are tracked per-seat (5 each); they follow the seat rather than the email currently occupying it, so swapping a member into an existing seat inherits the seat's remaining retry counter for the cycle.

Changing seat count. Admins can scale between 5 and 10 seats at any time from the Team dashboard. Upgradestake effect immediately and Lemon Squeezy prorates the difference, charging the admin's card for the remainder of the current cycle and switching to the new monthly rate at the next renewal. Downgrades are scheduled to take effect at the next renewal — the existing tier and seat cap remain active for the rest of the current cycle (which the admin has already paid for), and the new lower rate begins at renewal. A scheduled downgrade can be cancelled from the dashboard any time before that renewal.

Enforcement of the new cap after renewal.If the admin doesn't remove enough members before the renewal that applies a downgrade, the system automatically soft-deletes the most recently added seats above the new cap when the lower tier kicks in. Soft-deleted seats keep their free-retry counter so re-adding them later restores the slot instead of granting fresh retries.

Batch generation cap. Each generation run from the plugin is limited to 5 frames per request regardless of plan, to keep our AI provider responses predictable and to avoid rate-limit collisions. Larger jobs should be split into multiple runs.

Cancellation, expiry, and re-subscribe. If the admin cancels billing, members retain access until the end of the current prepaid cycle, at which point the subscription expires and access is revoked. If the admin downgrades from Team to an individual plan, the Team subscription is treated as terminated and members lose plugin access immediately. Re-subscribing to Team after expiry starts with an empty seat list — the admin must re-add each member they want to grant access to. We do not refund unused portions of the cycle on cancellation or downgrade.

The admin is responsible for ensuring that members on the seat list comply with these Terms. We may suspend the Team subscription if we detect abuse, including but not limited to seat-rotation patterns intended to bypass per-seat free-retry limits, or sharing of the Team license key beyond the authorised seat whitelist.

6. Refund Policy

We offer a 7-day refund policy for first-time subscriptions. See our Refund Policy for full details including abuse prevention terms.

7. Acceptable Use

You agree NOT to use the Service to:

  • Violate any applicable law or regulation
  • Infringe on intellectual property rights of others
  • Submit content that is unlawful, harmful, threatening, or harassing
  • Attempt to reverse-engineer or bypass our usage limits
  • Use automated scripts or bots to abuse the Service
  • Create multiple accounts to exploit free tiers or refund policies
  • Resell access to the Service without written permission
  • Share your account credentials or license key with others
  • Interfere with the security or operation of the Service
  • Connect a GitHub repository you do not own or are not authorised to grant read access to. By installing our GitHub App against a repository you confirm you have the owner's permission for us to read its stylesheet and config files.

We reserve the right to suspend or terminate accounts that violate these rules, with no refund.

8. Intellectual Property

8.1 Your Content

You retain full ownership of the Figma designs you submit and the code output generated from them. You are responsible for ensuring you have the rights to submit any designs to the Service.

By submitting designs, you grant us a limited license to process them through our AI pipeline solely for the purpose of generating, refining, or previewing code for you. We also store the resulting history entry (code, framework, prompt, thumbnail, frame name) in your account so you can revisit it later — limited to your last 20 entries, with older entries dropped automatically as new ones come in. You may delete any history entry from the plugin at any time, and deleting your account removes all entries. See our Privacy Policy for full retention details.

If you enable Project Context by connecting a GitHub repository or pasting tokens manually, you grant us a limited license to read your stylesheet / config files (GitHub path) or accept the JSON you paste (manual path), parse it into a design token and path alias summary, store that summary in your account, and include it as part of the AI prompt when you generate or refine code. You retain ownership of the underlying tokens and configuration. We do not use this data to train models or share it with third parties beyond the AI provider necessary to fulfil your request.

8.2 Our Content

The PixToCode name, logo, website, plugin code, and documentation are our intellectual property. You may not copy, modify, or distribute them without written permission.

8.3 Generated Code

You own the code we generate for you and may use it freely in commercial and non-commercial projects. However, we make no claims about the originality or non-infringement of generated code — you are responsible for reviewing and testing any code before production use.

9. Service Availability

We strive for high availability but do not guarantee uninterrupted service. The Service is provided "as is" and "as available". We may modify, suspend, or discontinue any part of the Service at any time with reasonable notice.

Features and infrastructure may continue to evolve based on user feedback. We reserve the right to make improvements and adjustments.

10. Disclaimer of Warranties

THE SERVICE IS PROVIDED "AS IS" WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.

We do not warrant that generated code will be bug-free, perfect, or suitable for your specific needs. You are responsible for testing and validating all code before deploying to production.

11. Limitation of Liability

TO THE MAXIMUM EXTENT PERMITTED BY LAW, OUR TOTAL LIABILITY FOR ANY CLAIM ARISING FROM THIS AGREEMENT SHALL NOT EXCEED THE AMOUNT YOU PAID TO US IN THE 12 MONTHS PRECEDING THE CLAIM.

WE ARE NOT LIABLE FOR INDIRECT, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFITS, DATA LOSS, OR BUSINESS INTERRUPTION.

12. Termination

You may cancel your subscription and delete your account at any time. We may terminate or suspend your access immediately for violations of these Terms.

Upon termination: your access to the Service ends, unused subscription time is non-refundable (except as required by our Refund Policy), and provisions that by their nature should survive (e.g., intellectual property, limitation of liability) will survive.

13. Changes to Terms

We may update these Terms from time to time. Material changes will be communicated via email and by updating the "Last updated" date above. Continued use of the Service after changes constitutes acceptance of the new Terms.

14. Governing Law and Disputes

These Terms are governed by the laws of the Republic of Serbia. Any disputes shall be resolved in the competent courts of Uzice, Serbia, except where prohibited by local consumer protection law.

For EU consumers: you retain all rights under applicable EU consumer protection law, and nothing in these Terms waives those rights.

15. Contact

PixToCode (operated by Zarko Savic)

Email: support@pixtocode.com

Address: Karađorđeva 38, 31103 Užice, Serbia