https://github.com/kurtgokhan/tegaki
Handwriting animation for the web. Supports any font or text.
https://github.com/kurtgokhan/tegaki
animation calligraphy cursive font handwriting react stroke-order text-animation
Last synced: about 5 hours ago
JSON representation
Handwriting animation for the web. Supports any font or text.
- Host: GitHub
- URL: https://github.com/kurtgokhan/tegaki
- Owner: KurtGokhan
- License: mit
- Created: 2026-03-28T18:58:26.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-28T09:57:14.000Z (about 11 hours ago)
- Last Synced: 2026-06-28T11:13:33.633Z (about 9 hours ago)
- Topics: animation, calligraphy, cursive, font, handwriting, react, stroke-order, text-animation
- Language: TypeScript
- Homepage: http://gkurt.com/tegaki
- Size: 14 MB
- Stars: 2,903
- Watchers: 9
- Forks: 115
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Tegaki
**Handwriting animation for any font**
Tegaki (手書き) turns any font into animated handwriting.
No manual path authoring. No native dependencies. Just pick a font.
[](https://www.npmjs.com/package/tegaki)
[](https://github.com/KurtGokhan/tegaki/blob/main/LICENSE)
---
## Quick Start
**1. Install**
```bash
npm install tegaki
```
**2. Use** (React example)
```tsx
import { TegakiRenderer } from 'tegaki';
import caveat from 'tegaki/fonts/caveat';
function App() {
return (
Hello World
);
}
```
That's it. The text draws itself stroke by stroke with natural timing.
## Framework Support
Tegaki works with all major frameworks:
```tsx
import { TegakiRenderer } from 'tegaki/react'; // React
import { TegakiRenderer } from 'tegaki/svelte'; // Svelte
import { TegakiRenderer } from 'tegaki/vue'; // Vue
import { TegakiRenderer } from 'tegaki/solid'; // SolidJS
```
```astro
---
import TegakiRenderer from 'tegaki/astro'; // Astro
---
```
```ts
import { TegakiEngine } from 'tegaki/core'; // Vanilla JS
import { registerTegakiElement } from 'tegaki/wc'; // Web Components
```
## Built-in Fonts
Several handwriting fonts are bundled and ready to use:
- **Caveat** — `tegaki/fonts/caveat` _(Latin)_
- **Italianno** — `tegaki/fonts/italianno` _(Latin)_
- **Tangerine** — `tegaki/fonts/tangerine` _(Latin)_
- **Parisienne** — `tegaki/fonts/parisienne` _(Latin)_
- **Suez One** — `tegaki/fonts/suez-one` _(Hebrew + Latin)_
- **Amiri** — `tegaki/fonts/amiri` _(Arabic + Latin)_
- **Tillana** — `tegaki/fonts/tillana` _(Devanagari + Latin)_
- **Klee One** — `tegaki/fonts/klee-one` _(Japanese: kana + Kyōiku grade 1–2 kanji + Latin)_
- **Nanum Pen Script** — `tegaki/fonts/nanum-pen-script` _(Korean: Hangul syllables + jamo + Latin)_
For other fonts, use the [interactive generator](https://gkurt.com/tegaki/generator/) to create a custom bundle.
## Documentation
Visit **[gkurt.com/tegaki](https://gkurt.com/tegaki)** for full documentation:
- [Getting Started](https://gkurt.com/tegaki/getting-started/)
- [Framework Guides](https://gkurt.com/tegaki/frameworks/react/) (React, Svelte, Vue, SolidJS, Astro, Web Components, Vanilla)
- [Generating Fonts](https://gkurt.com/tegaki/guides/generating/)
- [API Reference](https://gkurt.com/tegaki/api/renderer/)
## Integrations
- [Sli.dev](https://sli.dev/) - Create presentations using markdown. [See Tegaki integration example](https://andreas-taranetz.github.io/slidev-addon-animated-text/)
- [Remotion](https://www.remotion.dev/) - Create videos programmatically with React. [See Tegaki integration example](https://github.com/KurtGokhan/tegaki/blob/gokhan/support-font-features/examples/remotion/src/Root.tsx)
## License
[MIT](LICENSE)