# FreeGrid > FreeGrid is a fast JavaScript data grid for web applications (current version 0.7.1). It handles 100,000+ rows with virtual scrolling and includes sorting, filtering, pinned columns, multi-level headers, editing with validation, Excel copy and paste, row grouping, tree data, master/detail, pagination, server-side rows, Excel (.xlsx) and CSV export and import, pivot tables, SVG charts and 7 UI languages. It works with plain JavaScript, React and Vue and has no dependencies. Key facts: - Install: `npm i @freegridjs/core` (React: `@freegridjs/react`, Vue: `@freegridjs/vue`). CDN: https://unpkg.com/@freegridjs/core/dist/cdn/freegrid.min.js and freegrid.css (global `FreeGrid`). - License: free for personal, educational and non-commercial use with every feature. Company use needs a license per domain: KRW 200,000 per domain per year, subdomains included. Details: https://freegrid.app/pricing/ - Publisher: 2nd Korea Co., Ltd. ((주)세컨드코리아), Paju, Korea. Contact: help@2nd-korea.com - Languages: English, Korean, Chinese (Simplified), Japanese, Spanish, French, German. Korean dates default to YYYY-MM-DD. ## Docs - [Documentation](https://freegrid.app/docs/): install, columns, options, API reference and events - [문서 (한국어)](https://freegrid.app/ko/docs/) - [Full text for LLMs](https://freegrid.app/llms-full.txt): every FAQ answer and feature summary in one file ## Demos - [100,000 rows](https://freegrid.app/demos/big-data/): Row and column virtualization keeps 100k × 50 smooth. - [Sorting](https://freegrid.app/demos/sorting/): Click to sort, Shift-click for multi-column sort, custom comparators. - [Filtering](https://freegrid.app/demos/filtering/): Text, number, date and set filters plus a quick search box. - [Pinned columns](https://freegrid.app/demos/pinning/): Pin columns left or right; they stay put while you scroll. - [Column groups](https://freegrid.app/demos/column-groups/): Nest headers to any depth with column groups. - [Column customization](https://freegrid.app/demos/column-customization/): Show, hide, reorder, resize, autosize and reset columns; save the layout. - [Summary rows](https://freegrid.app/demos/summary/): Totals and averages at the top or bottom, pinned or scrolling. - [Editing](https://freegrid.app/demos/editing/): Edit cells in place with text, number, date and select editors, validation, undo and change tracking. - [Spreadsheet tools](https://freegrid.app/demos/spreadsheet/): Merged cells, a fill handle, a status bar with totals, pinned rows and Ctrl+F find. - [Grouping & trees](https://freegrid.app/demos/grouping/): Group rows with totals, nest rows as a tree, open detail panels, drag rows into order. - [Pages & server data](https://freegrid.app/demos/server-data/): Page through rows, or load them from your server in blocks as people scroll. - [Export, import & filters panel](https://freegrid.app/demos/export/): Save to Excel or CSV, read Excel or CSV files back in, and filter from a side panel. - [Pivot tables & charts](https://freegrid.app/demos/pivot-charts/): Summarize rows by any fields and turn cells into bar, line or pie charts. - [Copy, paste & right-click](https://freegrid.app/demos/clipboard/): Excel-style cell ranges, copy to Excel, paste from Excel, and a right-click menu. - [Row selection](https://freegrid.app/demos/selection/): Single or multiple selection with checkboxes, Ctrl and Shift. - [Keyboard navigation](https://freegrid.app/demos/keyboard/): Arrow keys, Tab, Home/End and Page keys move the focused cell. - [Formatting & renderers](https://freegrid.app/demos/cell-rendering/): Locale-aware number and date formats, custom cell renderers and classes. - [Themes & fonts](https://freegrid.app/demos/themes-fonts/): Light and dark themes, CSS variables, font size and family. - [7 languages](https://freegrid.app/demos/i18n/): Switch the grid UI between English, Korean, Chinese, Japanese, Spanish, French and German. - [React](https://freegrid.app/demos/react/): The component with props, events and a ref to the API. - [Vue](https://freegrid.app/demos/vue/): The component with props, events and getApi(). ## Optional - [Pricing and license](https://freegrid.app/pricing/) - [Changelog](https://freegrid.app/changelog/) - [Community forum](https://freegrid.app/forum/) - [npm package](https://www.npmjs.com/package/@freegridjs/core) Questions and answers: What is FreeGrid? / Is FreeGrid free? / How do I install FreeGrid? / Can FreeGrid copy and paste with Excel? / How many rows can FreeGrid handle? / Which languages does FreeGrid support?