Screenshot to Code

HTML + CSS Browser-Only

Upload any screenshot — the tool extracts your exact color palette and generates a clean, structured HTML + CSS starter template.

Screenshot Input

Drop screenshot here Release to upload

or click to browse

JPG PNG WebP GIF

Max 20 MB · or paste with Ctrl+V

You can also paste a screenshot directly with Ctrl+V
Screenshot
Output Framework
Page Template

Include JavaScript

Add basic interaction code

Analyzing colors and layout…

Extracted Palette

Click a swatch to copy its hex code

Generated code will appear here

Upload a screenshot on the left, choose your framework, and click Generate Code.

Works great with website screenshots, Figma exports, mobile UI mockups, and design inspiration images.

            
          

            
          

            
          

            
          
Live Preview Rendered in a sandboxed iframe
Code uses your screenshot's exact color palette. Replace placeholder text and images to make it your own. All processing runs locally — nothing is uploaded.

How It Works

  1. Upload or paste a screenshot (JPG, PNG, WebP)
  2. The tool extracts the dominant color palette
  3. Detects layout zones (navbar, hero, sections, footer)
  4. Generates a structured HTML + CSS template
  5. Copy or download and start customizing

About This Tool

Screenshot to Code reads the colours out of an image and builds a styled starter page around them. Upload or paste a JPG, PNG or WebP screenshot and the tool extracts a dominant colour palette, then generates a complete HTML and CSS page using those colours. You choose a page template of landing page, portfolio, dashboard or blog, pick vanilla CSS or Tailwind as the output, and optionally include basic JavaScript for interactions. The result appears as copyable code and as a live preview rendered in a sandboxed iframe, and the extracted swatches are shown so you can copy any hex code individually. It is aimed at developers who want a colour-matched scaffold to start from rather than a blank file. There is no AI model and no API call: everything, including the colour analysis, runs in your browser.

Frequently Asked Questions

No. It extracts the dominant colours and analyses the brightness of horizontal bands, then applies those colours to one of four hand-written page templates. The structure comes from the template you choose, not from the image, so expect a colour-matched starting point rather than a reproduction of your layout.
Neither. The analysis is a k-means clustering algorithm running on the image's pixels in your own browser, with no language model and no API call. Your screenshot is never uploaded, so the tool works on confidential mockups and continues to work if your connection drops after loading.
Yes. The output framework toggle switches between vanilla CSS, which produces a stylesheet, and Tailwind, which emits the same page structure using utility classes. Choose the one matching your project, since converting generated vanilla CSS into utilities afterwards is more work than regenerating.
Eight, from a k-means clustering run with k set to 8 and eighteen iterations. Clusters reflect how much of the image each colour occupies, so large background areas are always represented while a small accent used on one button may or may not survive as its own cluster.
Analysing colours for study is generally low risk, but copying a site's visual design for your own commercial product can infringe copyright or trade dress, and logos remain protected regardless. Use the tool on your own designs, on material you have permission to use, or as a private learning exercise.

Colour clustering and template assembly

The screenshot is drawn to a canvas so its pixels can be read directly. A k-means clustering algorithm with k set to 8 then groups those pixels into eight colour clusters, running eighteen iterations: each pixel is assigned to the nearest centre, every centre moves to the average of its pixels, and the process repeats until they settle. The eight resulting centres form the palette, shown as swatches with hex codes.

A second pass looks at layout. The image is divided into horizontal bands and the average colour of each band is measured, which distinguishes the typically darker or branded strip at the top from the body of the page below. The topmost bands inform the navigation colour, while the remaining bands feed the background and accent choices.

Those colours are then written into a hand-built template. Your chosen page type selects the structure, with a landing page producing a navigation bar, hero, features grid, stats row and footer, while other templates use their own arrangements. The framework toggle decides whether styling is emitted as a vanilla CSS stylesheet or as Tailwind utility classes, and the JavaScript option adds basic interaction code.

The finished markup renders in a sandboxed iframe.

What a dark-navy dashboard screenshot produces

Upload a screenshot of an application with a dark navy sidebar, a near-white content area and a single teal accent on its primary buttons. The clustering returns eight centres, and because clusters are weighted by how many pixels fall into them, the large near-white content region and the navy chrome dominate, while the teal appears as a smaller but distinct cluster. The swatch row shows all eight with their hex codes, and clicking one copies it.

The band analysis reads the top strip as dark, so navigation is styled in the navy family while the page background takes the light value.

Now select the landing page template with vanilla CSS. The generated file contains a navigation bar, a hero section with a heading and two buttons, a three-column features grid, a four-column stats row and a multi-column footer, all styled with the extracted colours. Switch the framework toggle to Tailwind and the same structure is emitted with utility classes instead of a stylesheet.

What you will not get is the sidebar layout from your screenshot. The tool matched your colours onto a landing page template, because the structure comes from your template choice rather than from the image.

Using the output honestly and effectively

Be clear about what this produces. It is not a pixel-perfect reconstruction of your screenshot, and it does not read the layout, the typography or the text of the image. It extracts a colour scheme and applies it to one of four hand-written templates, so the value is a colour-consistent, structurally complete starting point in seconds, not a cloned design.

Use it accordingly. Good workflows include taking the palette from a brand screenshot and scaffolding a landing page around it, generating a starting stylesheet whose colours already match an existing product, or copying just the swatches.

Check contrast before you build on the output. Extracted colours are whatever dominated the image, and a pairing that works as a small accent in the original can fail badly as body text on a background. Verify text against its background meets the 4.5 to 1 ratio that accessibility guidelines ask for, and adjust the generated values where it does not.

There is also a legal dimension. Copying the visual design of a site you do not own can infringe copyright or trade dress, so use the tool on your own work, on material you have permission to use, or for private study.