explaingit

flyfish-dev/file-viewer

Analysis updated 2026-06-24

50HTMLAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A Vue component that previews Word, Excel, PowerPoint, PDF, audio, and ebook files in the browser without a backend conversion server.

Mindmap

mindmap
  root((file-viewer))
    Inputs
      URL
      File object
      74 extensions
    Outputs
      Inline preview
      Highlighted code
      Rendered slides
    Use Cases
      Document portal
      Static iframe embed
      Vue app preview
    Tech Stack
      Vue
      pdfjs-dist
      docx-preview
      exceljs
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add inline Office and PDF previews to a Vue 3 admin dashboard.

USE CASE 2

Embed the demo folder via iframe in a legacy app that cannot add Vue deps.

USE CASE 3

Show DXF, draw.io, and Excalidraw files inside a documentation portal.

What is it built with?

VueJavaScriptpdfjs-distdocx-previewexceljshighlight.js

How does it compare?

flyfish-dev/file-viewerboona13/crowds-system-jsjasonengcc/keyshot-studio-materials
Stars504357
LanguageHTMLHTMLHTML
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Source code is paid, so customization beyond props means buying the shop license or living with the obfuscated dist.

Apache 2.0 lets you use, modify, and ship this commercially as long as you keep the notices, but the source code itself is sold separately.

In plain English

Flyfish Viewer is a public artifact repository for a browser-based file preview component. The repository itself does not contain the source code. It hosts the built distribution files, a demo site, documentation, and example files. Teams who want the full source, a fork, or a commercial license are pointed to the project's shop page, where access is sold for 4.99. The component, published on npm as @flyfish-group/file-viewer3 for Vue 3 and @flyfish-group/file-viewer for Vue 2.7, lets a web app open Word, Excel, PowerPoint, PDF, audio files, and ebooks directly inside the browser. The README states that parsing and rendering happen entirely on the front end, so there is no need for a backend transcoding service, an Office server, or a LibreOffice process. The current version is 1.0.9, and both npm packages stay in sync. The README lists 74 file extensions across roughly 15 preview pipelines. Word docs use docx-preview or a legacy doc viewer, Excel uses styled-exceljs with virtual scrolling, PowerPoint slides render with theme backgrounds and EMF vector images, and PDFs use pdfjs-dist. Other supported types include OFD documents, DXF CAD drawings, Excalidraw boards, draw.io diagrams, EPUB and UMD ebooks, Markdown, common image formats, MP4 video, MP3 and other audio, and a long list of code and text files highlighted with highlight.js. The README describes three ways to use the project. You can install the npm package and register it as a Vue 3 or Vue 2 component, passing a url or a File prop. You can also drop the demo folder onto any static host and embed it through an iframe, which suits multi-system setups that do not want preview dependencies in the main bundle. A tarball under artifacts lets you install without going through npm. The project is released under Apache 2.0. Issues and pull requests for general fixes are welcome.

Copy-paste prompts

Prompt 1
Wire @flyfish-group/file-viewer3 into my Vue 3 app and show a PDF from a signed S3 url with a download button.
Prompt 2
Build an iframe wrapper around the file-viewer demo folder that accepts a postMessage with a file url and resizes to content.
Prompt 3
Compare file-viewer to react-doc-viewer for a Next.js app that needs docx and xlsx preview without a backend.
Prompt 4
List which of the 74 supported extensions in file-viewer render fully client side versus needing extra config.

Frequently asked questions

What is file-viewer?

A Vue component that previews Word, Excel, PowerPoint, PDF, audio, and ebook files in the browser without a backend conversion server.

What language is file-viewer written in?

Mainly HTML. The stack also includes Vue, JavaScript, pdfjs-dist.

What license does file-viewer use?

Apache 2.0 lets you use, modify, and ship this commercially as long as you keep the notices, but the source code itself is sold separately.

How hard is file-viewer to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is file-viewer for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.