1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <link rel="icon" href="./icons/icon-128x128.png" /> 6 <link rel="apple-touch-icon" href="./icons/icon-128x128.png" /> 7 <meta name="theme-color" content="#ebebef" /> 8 <meta name="description" content="GazePlotter is a versatile open-source application compatible with major eye-tracking software like Tobii, SMI, GazePoint, Pupil Labs, Varjo, and custom CSV files. It specializes in generating interactive scarf plots, scanpaths, transition matrices, and eye-tracking metrics for comprehensive analysis." /> 9 <meta name="keywords" content="eye-tracking, eye tracking, eye movement, eye-movement, eye movements, eye-movements, eye, gaze, gaze plot, gaze plotter, gazeplotter, scarf plot, scarfplot, sequence chart, scanpath, fixation, AOI, dwell time" /> 10 <meta name="viewport" content="width=device-width, initial-scale=1" /> 11 <link rel="manifest" href="./manifest.json" /> 12 <link href="./_app/immutable/entry/start.CjHHwmdl.js" rel="modulepreload"> 13 <link href="./_app/immutable/chunks/DcumiPdv.js" rel="modulepreload"> 14 <link href="./_app/immutable/chunks/QBPWGNOg.js" rel="modulepreload"> 15 <link href="./_app/immutable/entry/app.CRTleunC.js" rel="modulepreload"> 16 <link href="./_app/immutable/chunks/HclGiUj8.js" rel="modulepreload"> 17 <link href="./_app/immutable/chunks/xihTtKlq.js" rel="modulepreload"> 18 <link href="./_app/immutable/nodes/0.Clmfmwus.js" rel="modulepreload"> 19 <link href="./_app/immutable/chunks/B0JVNVYt.js" rel="modulepreload"> 20 <link href="./_app/immutable/chunks/CSYJXV9S.js" rel="modulepreload"> 21 <link href="./_app/immutable/chunks/DyGW33aC.js" rel="modulepreload"> 22 <link href="./_app/immutable/nodes/3.CKgXkLGl.js" rel="modulepreload"> 23 <link href="./_app/immutable/chunks/CJTPIxjb.js" rel="modulepreload"> 24 <link href="./_app/immutable/chunks/NauFK3e0.js" rel="modulepreload"> 25 <link href="./_app/immutable/chunks/rNTvwFHd.js" rel="modulepreload"> 26 <link href="./_app/immutable/chunks/jbVATusn.js" rel="modulepreload"> 27 <!--12qhfyh--><!---->
27<script type="application/ld+json">{"@context":"http://schema.org","@type":"SoftwareApplication","name":"GazePlotter","description":"GazePlotter is a versatile open-source application compatible with major eye-tracking software like Tobii, SMI, GazePoint, Pupil Labs, Varjo, and custom CSV files. It specializes in generating interactive scarf plots, scanpaths, transition matrices, and eye-tracking metrics for comprehensive analysis.","url":"https://gazeplotter.com/","author":{"@type":"Person","name":"Michaela Vojtechovska","url":"https://vojtechovska.com/","affiliation":{"@type":"EducationalOrganization","name":"Palacky University Olomouc"}},"applicationCategory":"Research & Development","downloadUrl":"https://github.com/misavojte/GazePlotter","operatingSystem":"Cross-platform","softwareVersion":"1.9.4","isAccessibleForFree":true,"sourceOrganization":{"@type":"Organization","name":"GitHub","url":"https://github.com"},"codeRepository":"https://github.com/misavojte/GazePlotter"}</script>
27<!----><!----><!--1uha8ag--><link rel="canonical" href="https://gazeplotter.com/"/><!----><title>GazePlotter | Free Eye-Tracking Visualization: Scarf Plots, Scanpaths, AOI 28 Metrics</title> 29 <link href="./_app/immutable/assets/DesignTokens.BPvbn6Ru.css" rel="stylesheet"> 30 <link href="./_app/immutable/assets/0.DOvZ5HJr.css" rel="stylesheet"> 31 <link href="./_app/immutable/assets/file-text.DvqbQTbB.css" rel="stylesheet"> 32 <link href="./_app/immutable/assets/lib.BwmAHr1N.css" rel="stylesheet"> 33 <link href="./_app/immutable/assets/3.CDPDmD62.css" rel="stylesheet"> 34 </head> 35 <body data-sveltekit-preload-data="hover"> 36 <div><!--[--><!--[0--><!--[--><!----> <header class="border-b svelte-1yz1i5m"><div class="svelte-1yz1i5m"><a id="go-home" href="/" class="svelte-1yz1i5m"><img id="logo" width="23" height="23" src="/logos/gazeplotter.svg" alt="Logo" class="svelte-1yz1i5m"/> <span id="sitetitle" class="svelte-1yz1i5m">GazePlotter</span></a> <nav class="svelte-1yz1i5m"><a href="/" class="nav-item svelte-1yz1i5m active">App</a> <a href="/docs" class="nav-item svelte-1yz1i5m">Guide</a> <a href="https://github.com/misavojte/GazePlotter" target="_blank" class="gh-link svelte-1yz1i5m" rel="nofollow" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="currentColor" viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></nav></div></header><!----> <!--[-1--><!--[--><main class="svelte-1uha8ag"><section class="main-section intro svelte-1uha8ag"><div class="title-container svelte-1uha8ag"><h1 class="title-heading red svelte-1uha8ag">GazePlotter</h1> <h2 class="title-heading svelte-1uha8ag">Free eye-tracking visualizations</h2></div> <p class="intro-text svelte-1uha8ag">Generate scarf plots, transition matrices, and AOI metrics from eye gaze 37 data.<br/>No registration, no ads and no data sent 38 to a server. Just open science.</p></section> <section class="svelte-1uha8ag"><!----> <div id="GP-gazeplotter" class="svelte-rrnhy8"><div class="workspace-wrapper svelte-1iwjpj2" style="--min-workspace-height: 300px; --grid-container-min-height: 200px;"><div class="ribbon svelte-ve63p2"><div class="ribbon-content svelte-ve63p2"><!--[--><!--[-1--><!--]--> <button class="ribbon-item svelte-uelwbr disabled" disabled="" aria-label="Automatic file recognition (e.g., workspace, Tobii)"><div class="ribbon-item-icon svelte-uelwbr"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-upload"><!--[--><!----><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"><!----></path><!----><!----><polyline points="17 8 12 3 7 8"><!----></polyline><!----><!----><line x1="12" x2="12" y1="3" y2="15"><!----></line><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <span class="ribbon-item-label svelte-uelwbr">Import</span></button><!----><!--[0--><div class="divider svelte-ve63p2"></div><!--]--> <button class="ribbon-item svelte-uelwbr disabled" disabled="" aria-label="Export options (e.g., workspace, statistics)"><div class="ribbon-item-icon svelte-uelwbr"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-download"><!--[--><!----><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"><!----></path><!----><!----><polyline points="7 10 12 15 17 10"><!----></polyline><!----><!----><line x1="12" x2="12" y1="15" y2="3"><!----></line><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <span class="ribbon-item-label svelte-uelwbr">Export</span></button><!----><!--[0--><div class="divider svelte-ve63p2"></div><!--]--> <button class="ribbon-item svelte-uelwbr disabled" disabled="" aria-label="Source, parsing, and dataset context"><div class="ribbon-item-icon svelte-uelwbr"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
38ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-file-text"><!--[--><!----><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"><!----></path><!----><!----><path d="M14 2v4a2 2 0 0 0 2 2h4"><!----></path><!----><!----><path d="M10 9H8"><!----></path><!----><!----><path d="M16 13H8"><!----></path><!----><!----><path d="M16 17H8"><!----></path><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <span class="ribbon-item-label svelte-uelwbr">Metadata</span></button><!----><!--]--></div></div><!----> <div class="workspace-body svelte-1iwjpj2"><!--[0--><!--[-1--><div class="rail svelte-1wcyqly"><div class="rail-content svelte-1wcyqly" style="top: -24px;"><!----><div class="rail-inner svelte-1wcyqly"><!--[0--><!--[--><!--[-1--><!--]--> <div class="tooltip-wrapper svelte-1ii0hd3"><button class="toolbar-item svelte-1ii0hd3 disabled" disabled="" aria-label="Nothing to undo"><div class="toolbar-item-icon svelte-1ii0hd3"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-undo-2"><!--[--><!----><path d="M9 14 4 9l5-5"><!----></path><!----><!----><path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"><!----></path><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <!--[-1--><!--]--></button></div><!----><!--[-1--><!--]--> <div class="tooltip-wrapper svelte-1ii0hd3"><button class="toolbar-item svelte-1ii0hd3 disabled" disabled="" aria-label="Nothing to redo"><div class="toolbar-item-icon svelte-1ii0hd3"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-redo-2"><!--[--><!----><path d="m15 14 5-5-5-5"><!----></path><!----><!----><path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13"><!----></path><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <!--[-1--><!--]--></button></div><!----><!--[-1--><!--]--> <div class="tooltip-wrapper svelte-1ii0hd3"><button class="toolbar-item svelte-1ii0hd3 disabled" disabled="" aria-label="Reset Layout"><div class="toolbar-item-icon svelte-1ii0hd3"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-rotate-ccw"><!--[--><!----><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"><!----></path><!----><!----><path d="M3 3v5h5"><!----></path><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <!--[-1--><!--]--></button></div><!----><!--[0--><div class="divider svelte-1wcyqly"></div><!--]--> <div class="tooltip-wrapper svelte-1ii0hd3"><button class="toolbar-item svelte-1ii0hd3 disabled" disabled="" aria-label="Add Visualization"><div class="toolbar-item-icon svelte-1ii0hd3"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-square-plus"><!--[--><!----><rect width="18" height="18" x="3" y="3" rx="2"><!----></rect><!----><!----><path d="M8 12h8"><!----></path><!----><!----><path d="M12 8v8"><!----></path><!----><!--]--><!--[--><!--[--><!--]--><!--]--></svg><!--]--></div> <!--[-1--><!--]--></button></div><!----><!--]--> <div class="zoom-slot svelte-1wcyqly"><div class="divider svelte-1wcyqly"></div> <div class="zoom-control vertical svelte-17cerho disabled"><div class="slider-wrapper svelte-17cerho"><input class="zoom-slider svelte-17cerho" type="range" min="0.5" max="1" step="0.05" value="1" disabled="" aria-label="Workspace zoom level"/></div> <span class="zoom-value svelte-17cerho">1.00x</span></div><!----></div><!--]--></div><!----></div><!----></div><!--]--><!--]--> <div class="workspace-container svelte-1iwjpj2" role="none"><!--[2--><div class="workspace-indicator svelte-11bl6dw"><div class="indicator-card svelte-11bl6dw"><div class="indicator-header svelte-11bl6dw"><h3 class="indicator-title svelte-11bl6dw">Processing data</h3></div> <div class="indicator-body svelte-11bl6dw"><div class="content-inner svelte-1lul3fy"><div class="spinner svelte-1lul3fy"></div> <div class="text-content svelte-1lul3fy"><p class="svelte-1lul3fy">Please wait while we prepare your visualisations.</p> <p class="svelte-1lul3fy">Processing data: 0%</p></div></div><!----></div></div></div><!--]--></div> <!--[-1--><!--]--><!----></div> <!--[-1--><!--]--></div><!----> <!--[-1--><!--]--><!----> <div class="toaster svelte-113jjrm"><!--[--><!--]--></div><!----> <!--[--><!--]--><!----> <div class="gp-context-menu-portal-root svelte-16gyqjh"><!--[-1--><!--]--></div><!----></div><!----></section> <section class="main-section svelte-1uha8ag" id="about"><div class="about-grid svelte-1uha8ag"><div class="card svelte-1uha8ag"><h2 class="box-title svelte-1uha8ag">Cite work</h2> <p class="svelte-1uha8ag">Vojtechovska, M., Popelka, S. GazePlotter: 39 An open-source solution for the automatic generation 40 of scarf plots from eye-tracking data. Behav Res 41 58, 85 (2026). <a href="https://doi.org/10.3758/s13428-026-02959-5" target="_blank" rel="noopener noreferrer" class="svelte-1uha8ag">doi:10.3758/s13428-026-02959-5</a></p> <a target="_blank" href="https://link.springer.com/article/10.3758/s13428-026-02959-5" class="svelte-1uha8ag">Go to article</a></div> <div class="card svelte-1uha8ag"><h2 class="box-title svelte-1uha8ag">Found bug?</h2> <p class="svelte-1uha8ag">Help us improve GazePlotter. Report issues, request new visualizations, or contribute to our open-source code directly on GitHub. Community feedback is essential to keeping GazePlotter stable and up-to-date.</p> <a target="_blank" href="https://github.com/misavojte/GazePlotter/issues" class="svelte-1uha8ag">Open GitHub Issues</a></div> <div class="card long svelte-1uha8ag"><h2 class="box-title svelte-1uha8ag">About us</h2> <p class="svelte-1uha8ag">Created by <a href="https://vojtechovska.com" target="_blank" rel="noopener noreferrer" class="svelte-1uha8ag">Michaela Vojtechovska</a> under the supervision of <a href="https://www.geoinformatics.upol.cz/lide/stanislav-popelka/?lang=en" target="_blank" rel="noopener noreferrer" class="svelte-1uha8ag">Stanislav Popelka</a>, GazePlotter allows researchers and non-programmers to visualize eye gaze data without writing code. This tool is and will remain free.</p> <img width="500" height="500" src="/images/gazeplotter_presentation.png" alt="Michaela presenting GazePlotter at Cognition and Artificial Life conference" class="svelte-1uha8ag"/> <a target="_blank" href="https://eyetracking.upol.cz" class="svelte-1uha8ag">See our lab</a></div> <div class="card svelte-1uha8ag"><h2 class="box-title svelte-1uha8ag">User guide</h2> <p class="svelte-1uha8ag">Learn how to get started, configure your custom workspace, customize metrics, and import Tobii, SMI, GazePoint, Varjo, or Pupil Labs data. Explore our step-by-step instructions for advanced features.</p> <a href="/docs" class="svelte-1uha8ag">Read the guide</a></div> <div class="card svelte-1uha8ag"><h2 class="box-title svelte-1uha8ag">Data import</h2> <p class="svelte-1uha8ag">GazePlotter supports data from all major eye-tracking platforms including Tobii, SMI, GazePoint, OGAMA, Varjo, and Pupil Cloud. You can also import custom CSV files from any other eye tracker.</p> <a href="/docs/upload-data" class="svelte-1uha8ag">Supported formats</a></div></div></section></main><!--]--><!--]--><!----> <footer class="border-t svelte-kcvnik"><div class="footer-content svelte-kcvnik"><p class="svelte-kcvnik">GazePlotter 1.9.4 (August 23, 2026)</p> <p class="svelte-kcvnik"><a href="https://vojtechovska.com" target="_blank" class="svelte-kcvnik">Michaela VojtÄchovská</a> & <a href="https://www.geoinformatics.upol.cz/lide/stanislav-popelka/?lang=en" target="_blank" class="svelte-kcvnik">Stanislav Popelka</a></p> <p class="svelte-kcvnik">DOI: <a href="https://doi.org/10.3758/s13428-026-02959-5" target="_blank" class="svelte-kcvnik">10.3758/s13428-026-02959-5</a></p> <img class="up-logo svelte-kcvnik" src="/logos/upol.png" alt="Palacký University Olomouc logo" width="300" height="137"/></div></footer><!----><!--]--><!--]--> <!--[-1--><!--]--><!--]--> 42 43
43<script> 44 { 45 __sveltekit_11geptm = { 46 base: new URL(".", location).pathname.slice(0, -1) 47 }; 48 49 const element = document.currentScript.parentElement; 50 51 Promise.all([ 52 import("./_app/immutable/entry/start.CjHHwmdl.js"), 53 import("./_app/immutable/entry/app.CRTleunC.js") 54 ]).then(([kit, app]) => { 55 kit.start(app, element, { 56 node_ids: [0, 3], 57 data: [null,null], 58 form: null, 59 error: null 60 }); 61 }); 62 63 if ('serviceWorker' in navigator) { 64 const script_url = './service-worker.js'; 65 const policy = globalThis?.window?.trustedTypes?.createPolicy( 66 'sveltekit-trusted-url', 67 { createScriptURL(url) { return url; } } 68 ); 69 const sanitised = policy?.createScriptURL(script_url) ?? script_url; 70 addEventListener('load', function () { 71 navigator.serviceWorker.register(sanitised); 72 }); 73 } 74 } 75 </script>
75 76 </div> 77 </body> 78</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.