Linguistic fieldwork data, converted instantly

Convert FLEx interlinear text and Phonology Assistant exports to LaTeX, tab-separated tables, and (coming soon) XLingPaper — from anywhere on your computer or in any online editor.

⬇ Download for macOS ⬇ Download for Windows
🐧 Linux (.deb) 🐧 Linux (.AppImage)

⚠️ Linux builds are untested — community contributions welcome

⬡ Browser Extension — Chrome & Firefox

Works with any TeX editor — Overleaf, VS Code, TeXShop, TeXworks, and more

🖥 Desktop App

Runs silently in the system tray (Windows) or menu bar (macOS). Choose your output mode — LaTeX, Table/Spreadsheet, or (coming soon) XLingPaper — and configure keyboard shortcuts that work system-wide in any editor, web-based or desktop. When you press a shortcut, the app reads your clipboard, converts it, and delivers the result at your cursor. On macOS this uses keyboard injection (your clipboard is untouched). On Windows the result is written to the clipboard and pasted — so after a shortcut fires, the converted text stays in your clipboard and you can paste it again with a plain Ctrl+V. Shortcuts fire regardless of which mode or tab is currently open.

  • Global keyboard shortcuts — fire from any app, browser or desktop
  • Multiple output modes: LaTeX, Table/Spreadsheet, XLingPaper (planned)
  • FLEx interlinear + Phonology Assistant + custom TSV profiles
  • No browser needed — works fully offline
macOS users:
  1. Bypass Gatekeeper — the app is currently unsigned. After downloading, right-click the .app and choose Open, then click Open again in the dialog. Alternatively, run once in Terminal:
    xattr -cr "/Applications/LingTeX Tools.app"
  2. Grant Accessibility access — when prompted, allow LingTeX Tools in System Settings → Privacy & Security → Accessibility. This is required for global keyboard shortcuts to work.
  3. After every update: re-grant Accessibility access — macOS ties the permission to the specific app binary. Installing a new version replaces the binary and silently revokes the permission, so global shortcuts stop working. After each update, open System Settings → Privacy & Security → Accessibility, remove LingTeX Tools (− button), then add it again (+ button → /Applications/LingTeX Tools.app).
🪟 Windows — known limitation: On Windows, the global shortcut delivers output by writing to the clipboard and simulating Ctrl+V. This means firing the shortcut twice in a row without copying new source text first will attempt to re-convert the already-converted output and produce nothing. You only need to fire it once — the converted result stays in your clipboard afterwards, so you can paste again with a plain Ctrl+V as many times as you like.

⬡ Browser Extension

Adds a toolbar button to your browser. Choose your output mode — LaTeX, Table/Spreadsheet, or (coming soon) XLingPaper — and assign per-profile keyboard shortcuts that insert converted text directly at the cursor in Overleaf, Authorea, or any web-based editor — within the browser only. Shortcuts fire regardless of which mode or tab is currently open. Choose this or the Desktop App, not both.

  • Works in Overleaf, Authorea, and more
  • Multiple output modes: LaTeX, Table/Spreadsheet, XLingPaper (planned)
  • Per-profile keyboard shortcuts, insert at cursor
  • FLEx interlinear + Phonology Assistant + custom TSV profiles
  • Settings sync across browser sessions
Manual install required — not yet in the browser stores.
  1. Chrome / Edge: unzip the download somewhere permanent, go to chrome://extensions, enable Developer mode, click Load unpacked, and select the unzipped folder. Pin the icon from the puzzle-piece menu.
  2. Firefox: open the downloaded .xpi file (or drag it onto a Firefox tab) and click Add when prompted. The extension is permanently installed — no repeat after restart.

🧭 Safari support is planned for a future release. Safari users can use the Desktop App or try the web version.

🐧 Linux: The desktop app has not been tested on Linux — the developer does not have a Linux machine. In principle it should work (Tauri supports Linux, global shortcuts use X11/XWayland, and the system tray requires libappindicator). Pre-built .deb and .AppImage artifacts are available on the releases page. If you try it and find issues — or get it working — please open an issue or PR. Linux contributions are very welcome.

⌨ Keyboard Shortcuts

Applies to the Desktop App and Browser Extension. The web version below does not support shortcuts.

First-time setup required. Shortcuts must be configured inside the app before they will work. Open the app or extension popup, expand Configuration on the FLEx Interlinear tab, click the shortcut field, and press your desired key combination. The default shortcut for FLEx Interlinear is Ctrl+Shift+V (set automatically on first launch). The app will warn you if no shortcuts are configured.

Shortcuts fire regardless of active mode

Shortcuts are registered globally — they fire based on the key combo alone, not on which output mode or tab is currently open in the app. A shortcut set on the Phonology Assistant profile works whether you are looking at the LaTeX mode, Table/Spreadsheet mode, or anything else.

Duplicates are resolved automatically

If you assign a key combo that is already used by another tab or profile, the app automatically removes the old binding and shows a brief warning next to the shortcut field. Each combo can only be active for one converter at a time.

OS and app conflicts (Desktop App)

System-reserved shortcuts (e.g. Cmd+Space for Spotlight, Cmd+Tab for the app switcher on macOS) cannot be captured — the app will warn you if the OS rejects a registration. To avoid silently stealing shortcuts from other apps, prefer three-modifier combos such as Cmd+Opt+Shift+L on macOS or Ctrl+Alt+Shift+L on Windows, which rarely conflict with anything else.

Browser extension shortcuts only fire within web pages and cannot conflict with OS or desktop-app shortcuts.

⚠ Known Issues

FLEx: blank morpheme cells cause column misalignment — If a morpheme is missing data in the selected writing system, FLEx exports a blank cell for that column, shifting the gloss row out of alignment and producing garbled or phantom tokens in the output. Workaround: in FLEx, use a writing system in which all morphemes have forms, or add the missing forms before copying.
Header row included in copy — When selecting from the top of a Phonology Assistant or Dekereke table, the column-header row may be included in the clipboard selection and processed as data, producing a garbled first entry. Delete it from the output manually.
Windows: global shortcut can't fire twice in a row — On Windows the shortcut writes output to the clipboard and simulates Ctrl+V, so the converted result replaces the original source. Firing the shortcut again without copying new source text will produce nothing. You only need to fire it once — the result stays in the clipboard and you can paste again with plain Ctrl+V.
macOS: global shortcuts stop working after an update — macOS ties the Accessibility permission to the specific app binary. After each update, open System Settings → Privacy & Security → Accessibility, remove LingTeX Tools (− button), then add it again (+ → /Applications/LingTeX Tools.app).

Try it in your browser

No installation needed. Good for occasional use or trying it out before installing. Settings are saved in your browser's local storage.

Online

Paste interlinear text copied from FieldWorks Language Explorer (FLEx) and convert it to a \gll block for langsci-gb4e or gb4e. Handles morpheme boundary alignment, grammatical gloss tagging, free translations, and source text references.

Configuration
Wraps all-caps abbreviations like PST, 3SG — e.g. \textsc{Pst}. Use \textsc for standard small-caps (no extra packages). Use \gl or \acrshort to link glosses to an abbreviations list via glossaries-extra (with \setabbreviationstyle{short-sc} for small-caps output). Leave empty to disable wrapping entirely.
Applies to grammatical gloss abbreviations in both LaTeX and Table output.
Wraps each individual word on the object-language tier — e.g. \textit{word1} \textit{word2} \textit{word3}. Leave empty to omit. (LaTeX output only.)
When set, appends a source citation to the end of the \glt free-translation line — e.g. command \txtref + prefix TXT: + FLEx example number 8 produces \txtref{TXT:8}. Default %\txtref leaves it commented out — remove the % to activate. Leave empty to omit entirely.
Input — paste FLEx interlinear text
Output — LaTeX

Paste interlinear text copied from FLEx and convert it to morpheme-aligned TSV — each morpheme and boundary marker in its own tab-separated column, ready to paste into a spreadsheet or corpus tool. Uses the same processing as the FLEx Interlinear tab without LaTeX output.

Input — paste FLEx interlinear text
Output — TSV

XLingPaper output support is coming in a future release.

🔜 Coming in a Future Release

Planned features actively in development.

Extension

FLEx Corpus → LaTeX Export

Export an entire FLEx corpus as a structured LaTeX document — ideal for producing a full example appendix or corpus reference directly from FLEx.