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/2.DZ8ndx3U.js" rel="modulepreload"> 23 <link href="../_app/immutable/chunks/NauFK3e0.js" rel="modulepreload"> 24 <link href="../_app/immutable/chunks/C1L5OS0j.js" rel="modulepreload"> 25 <link href="../_app/immutable/nodes/4.dC4Z1Xaf.js" rel="modulepreload"> 26 <!--12qhfyh--><!---->
26<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>
26<!----><!----><!--1bpnej--><!---->
26<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"GazePlotter","item":"https://gazeplotter.com/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https://gazeplotter.com/docs"}]}</script>
26<!----><!----><!--100slfm--><link rel="canonical" href="https://gazeplotter.com/docs/"/> <meta property="og:title" content="Free Eye-Tracking Visualization Tool | GazePlotter Docs"/> <meta property="og:type" content="article"/> <meta property="og:url" content="https://gazeplotter.com/docs/"/> <!--[0--><meta name="description" content="Step-by-step introduction to GazePlotter. Learn to upload data files, manage participant groups, and configure eye-movement plots."/> <meta property="og:description" content="Step-by-step introduction to GazePlotter. Learn to upload data files, manage participant groups, and configure eye-movement plots."/><!--]--><!----><title>Free Eye-Tracking Visualization Tool | GazePlotter Docs</title> 27 <link href="../_app/immutable/assets/DesignTokens.BPvbn6Ru.css" rel="stylesheet"> 28 <link href="../_app/immutable/assets/0.DOvZ5HJr.css" rel="stylesheet"> 29 <link href="../_app/immutable/assets/2.CbFBDVrR.css" rel="stylesheet"> 30 <link href="../_app/immutable/assets/4.B-N2-H6F.css" rel="stylesheet"> 31 </head> 32 <body data-sveltekit-preload-data="hover"> 33 <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">App</a> <a href="/docs" class="nav-item svelte-1yz1i5m active">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><!----> <!--[0--><!--[--><div class="mobile-docs-bar svelte-1bpnej"><button class="mobile-menu-btn svelte-1bpnej" aria-label="Toggle navigation"><!--[-1--><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg><!--]--></button> <span class="mobile-docs-label svelte-1bpnej">Documentation Chapters</span></div> <div class="docs-container svelte-1bpnej"><!--[-1--><!--]--> <aside class="docs-sidebar svelte-1bpnej"><div class="sidebar-bg svelte-1bpnej"></div> <div class="sidebar-content-wrapper svelte-1bpnej"><div class="sidebar-spacer svelte-1bpnej"></div> <div class="sidebar-main svelte-1bpnej"><nav class="docs-nav svelte-1bpnej"><!--[--><div class="nav-section"><!--[-1--><a href="/docs" class="nav-section-link svelte-1bpnej active"><span class="nav-title svelte-1bpnej">Getting Started</span></a><!--]--></div><div class="nav-section"><!--[-1--><a href="/docs/changelog" class="nav-section-link svelte-1bpnej"><span class="nav-title svelte-1bpnej">Changelog</span></a><!--]--></div><div class="nav-section"><!--[0--><button type="button" class="nav-section-trigger svelte-1bpnej" aria-expanded="false"><span class="nav-title svelte-1bpnej">Uploading Data</span> <svg class="chevron-icon svelte-1bpnej" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button> <!--[-1--><!--]--><!--]--></div><div class="nav-section"><!--[0--><button type="button" class="nav-section-trigger svelte-1bpnej" aria-expanded="false"><span class="nav-title svelte-1bpnej">Workspace</span> <svg class="chevron-icon svelte-1bpnej" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button> <!--[-1--><!--]--><!--]--></div><div class="nav-section"><!--[0--><button type="button" class="nav-section-trigger svelte-1bpnej" aria-expanded="false"><span class="nav-title svelte-1bpnej">Metrics Library</span> <svg class="chevron-icon svelte-1bpnej" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button> <!--[-1--><!--]--><!--]--></div><div class="nav-section"><!--[0--><button type="button" class="nav-section-trigger svelte-1bpnej" aria-expanded="false"><span class="nav-title svelte-1bpnej">Visualizations</span> <svg class="chevron-icon svelte-1bpnej" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button> <!--[-1--><!--]--><!--]--></div><div class="nav-section"><!--[0--><button type="button" class="nav-section-trigger svelte-1bpnej" aria-expanded="false"><span class="nav-title svelte-1bpnej">Export</span> <svg class="chevron-icon svelte-1bpnej" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button> <!--[-1--><!--]--><!--]--></div><div class="nav-section"><!--[0--><button type="button" class="nav-section-trigger svelte-1bpnej" aria-expanded="false"><span class="nav-title svelte-1bpnej">Advanced</span> <svg class="chevron-icon svelte-1bpnej" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button> <!--[-1--><!--]--><!--]--></div><!--]--></nav></div></div></aside> <main class="docs-content svelte-1bpnej"><div class="prose-wrapper svelte-1bpnej"><nav class="breadcrumbs svelte-1bpnej" aria-label="Breadcrumb"><ol class="svelte-1bpnej"><!--[--><li class="svelte-1bpnej"><!--[0--><a href="/" class="svelte-1bpnej">GazePlotter</a> <span class="breadcrumb-sep svelte-1bpnej">/</span><!--]--></li><li class="svelte-1bpnej"><!--[-1--><span class="breadcrumb-current svelte-1bpnej">Docs</span><!--]--></li>
33<!--]--></ol></nav> <!--[--><!--[--><h1 id="welcome-to-gazeplotter-guide--docs">Welcome to GazePlotter Guide & Docs</h1> <p>GazePlotter is a free online tool for eye-tracking data analysis and visualization, supporting exports from Tobii Pro Lab, SMI BeGaze, Gazepoint, Pupil Labs (Pupil Cloud), Varjo, OGAMA, and custom CSV files. Built with a commitment to open science, GazePlotter transforms complex gaze data into intuitive, interactive visualizations without requiring registration, subscriptions, or server uploads.</p> <p>Whether youâre a researcher analyzing attention patterns, a student learning about eye-tracking methodology, or a professional presenting gaze data insights, GazePlotter provides tools that work entirely in your browser without installing any other software.</p> <h2 id="analysis-suite">Analysis Suite</h2> <h3 id="multiple-visualization-types">Multiple Visualization Types</h3> <ul><li><strong><a href="/docs/visualizations/scarf-plot">Scarf Plot</a></strong> - Interactive timeline visualizations showing gaze sequences and events over time.</li> <li><strong><a href="/docs/visualizations/aoi-comparison">AOI Comparison</a></strong> - Statistical analysis bar charts with metrics like dwell time, fixation count, and time to first fixation.</li> <li><strong><a href="/docs/visualizations/transition-matrix">Transition Matrix</a></strong> - Heat map visualizations of gaze movement patterns between Areas of Interest.</li> <li><strong><a href="/docs/visualizations/aoi-timeline">AOI Timeline</a></strong> - Flowing river, stacked distribution, ridgeline, or heatmap binned visualizations over time.</li> <li><strong><a href="/docs/visualizations/recurrence-plot">Recurrence Plot</a></strong> - NÃN matrix revealing temporal self-similarity in a single participantâs fixation sequence.</li> <li><strong><a href="/docs/visualizations/scanpath">Scanpath</a></strong> - 2D spatial trajectory overlay plot showing fixation locations, index order, and sequence overlays on the stimulus.</li> <li><strong><a href="/docs/visualizations/scanpath-similarity">Scanpath Similarity</a></strong> - Pairwise comparison matrix of sequence alignments with graph-based ScanGraph network thresholding.</li> <li><strong><a href="/docs/visualizations/metric-timeline">Metric Timeline</a></strong> - Rolling temporal binned heatmap matrices or line trend overlays tracing scalar metrics.</li> <li><strong><a href="/docs/visualizations/metric-correlation">Metric Correlation</a></strong> - Multi-select correlation heatmaps and Scatter Plot Matrices (SPLOM) with Pearson/Spearman algorithms.</li></ul> <h3 id="metrics-library">Metrics Library</h3> <ul><li><strong><a href="/docs/metrics">Metrics Library Overview</a></strong> - Central DSL engine for configuring, parameterizing, and projecting eye-tracking metrics.</li> <li><strong><a href="/docs/metrics/durations">Dwell Time & Fixation Durations</a></strong> - Duration-based calculations like dwell time (absolute and relative) and average/first/visit durations.</li> <li><strong><a href="/docs/metrics/counts-latency">Fixation Counts & Latency</a></strong> - Gaze frequency metrics (fixations, visits) and Time to First Fixation (TTFF) latency.</li> <li><strong><a href="/docs/metrics/transitions">AOI Transitions & Markov Metrics</a></strong> - Shift counts, k-step Markov probabilities, and cell/row/col projections.</li> <li><strong><a href="/docs/metrics/rqa">Recurrence Quantification Analysis (RQA)</a></strong> - Non-linear recurrences, laminarity, and determinism metrics.</li> <li><strong><a href="/docs/metrics/scanpath-similarity">Scanpath Similarity Metrics</a></strong> - Sequence alignment similarity calculations (Levenshtein, Needleman-Wunsch).</li> <li><strong><a href="/docs/metrics/eye-movement">Eye-movement Type Metrics</a></strong> - Per-type counts, time budgets, segment durations, and time to first saccade (saccadic latency).</li></ul> <h3 id="workspace-management">Workspace Management</h3> <ul><li><strong><a href="/docs/workspace">Workspace Operations</a></strong> - Add, duplicate, move, and resize plots with drag-and-drop functionality.</li> <li><strong><a href="/docs/workspace/participant-library/#participant-selections">Participant Selections</a></strong>
33 - Comparative analysis between named participant selections.</li> <li><strong><a href="/docs/workspace/aoi-library">AOI Library</a></strong> - Full control over colors, names, and visual properties.</li></ul> <h3 id="universal-data-compatibility">Universal Data Compatibility</h3> <p>GazePlotter supports data from all major eye-tracking platforms:</p> <ul><li><strong><a href="/docs/upload-data/tobii-pro-lab/">Tobii Pro Lab</a></strong> - Full feature support with dynamic AOI visibility</li> <li><strong><a href="/docs/upload-data/smi-begaze/">SMI BeGaze</a></strong> - Complete compatibility including overlapping AOI handling</li> <li><strong><a href="/docs/upload-data/ogama/">OGAMA</a></strong> - Sequence analysis support</li> <li><strong><a href="/docs/upload-data/gazepoint/">GazePoint</a></strong> - Direct data import</li> <li><strong><a href="/docs/upload-data/varjo/">Varjo</a></strong> - VR/AR eye-tracking data</li> <li><strong><a href="/docs/upload-data/pupil-cloud/">Pupil Cloud</a></strong> - Multi-surface support with AOI mapping</li> <li><strong><a href="/docs/upload-data/custom-csv/">Custom CSV</a></strong> - Flexible format for any eye-tracker</li></ul> <h3 id="data-export">Data Export</h3> <ul><li><strong><a href="/docs/export/">Export Options</a></strong> - Save and share workspaces, export data, and integrate with ScanGraph</li></ul> <h2 id="privacy--accessibility">Privacy & Accessibility</h2> <ul><li><strong>Complete Privacy</strong> - All processing happens locally in your browser; no data ever leaves your device</li> <li><strong>No Registration</strong> - Start analyzing immediately without accounts or sign-ups</li> <li><strong>Progressive Web App</strong> - <a href="/docs/advanced/download-gazeplotter/">Install as desktop app</a> or use directly in browser</li> <li><strong>Cross-Platform</strong> - Works on Windows, Mac, Linux, and mobile devices</li> <li><strong>Offline Capable</strong> - Continue working without internet connection</li></ul> <h2 id="getting-started">Getting Started</h2> <p>Ready to visualize your eye-tracking data? Choose your path:</p> <ul><li><strong>New to GazePlotter?</strong> Start by <a href="/docs/upload-data">uploading your data</a> to configure your first visualization.</li> <li><strong>Ready to analyze?</strong> Explore <a href="/docs/workspace">Workspace & Setup overview</a> to learn about workspace setup and custom participant groups.</li> <li><strong>Want to calculate metrics?</strong> Learn how to customize calculations using the <a href="/docs/metrics">Metrics Library</a> to define durations, counts, transitions, and sequence alignments.</li> <li><strong>Ready to visualize?</strong> Review our full list of <a href="/docs/visualizations">Eye-tracking Visualizations</a> to configure plot options.</li> <li><strong>Need to export?</strong> Check out <a href="/docs/export">export options</a> for workspaces, segmented data, events, or metric tables.</li> <li><strong>Want to edit your data?</strong> Use <a href="/docs/advanced/segmented-data-workflows">Segmented Data workflows</a> to crop segments or split stimuli.</li></ul> <h2 id="open-source--community">Open Source & Community</h2> <p>GazePlotter is open-source software licensed under GNU GPL v3, ensuring it remains free and transparent forever.</p> <p><strong>Contribute & Support:</strong></p> <ul><li><a href="https://github.com/misavojte/GazePlotter" rel="nofollow">Code Repository</a> - Report bugs, request features, or contribute code</li> <li><a href="https://www.npmjs.com/package/gazeplotter" rel="nofollow">npm Package</a> - Integrate GazePlotter into your own Svelte projects</li></ul> <p><strong>Academic Use:</strong> If you use GazePlotter in your research, please consider citing our work to support continued development and help other researchers discover this tool.</p><!--]--> <!--[0--><nav class="prev-next svelte-100slfm" aria-label="Page navigation"><!--[-1--><!--]--> <!--[0--><a href="/docs/changelog" class="prev-next-link next svelte-100slfm"><span class="prev-next-label svelte-100slfm">Next â</span> <span class="prev-next-title svelte-100slfm">Changelog</span></a>
33<!--]--></nav><!--]--><!--]--><!----></div></main></div><!--]--><!--]--><!----> <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--><!--]--><!--]--> 34 35
35<script> 36 { 37 __sveltekit_11geptm = { 38 base: new URL("..", location).pathname.slice(0, -1) 39 }; 40 41 const element = document.currentScript.parentElement; 42 43 Promise.all([ 44 import("../_app/immutable/entry/start.CjHHwmdl.js"), 45 import("../_app/immutable/entry/app.CRTleunC.js") 46 ]).then(([kit, app]) => { 47 kit.start(app, element, { 48 node_ids: [0, 2, 4], 49 data: [null,null,null], 50 form: null, 51 error: null 52 }); 53 }); 54 55 if ('serviceWorker' in navigator) { 56 const script_url = '../service-worker.js'; 57 const policy = globalThis?.window?.trustedTypes?.createPolicy( 58 'sveltekit-trusted-url', 59 { createScriptURL(url) { return url; } } 60 ); 61 const sanitised = policy?.createScriptURL(script_url) ?? script_url; 62 addEventListener('load', function () { 63 navigator.serviceWorker.register(sanitised); 64 }); 65 } 66 } 67 </script>
67 68 </div> 69 </body> 70</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.