Convert Figma logo to code with AI

alexmacarthur logotypeit

The most versatile JavaScript typewriter effect library on the planet.

3,068
200
3,068
25

Top Related Projects

15,508

A JavaScript Typing Animation Library

A simple yet powerful native javascript plugin for a cool typewriter effect.

1,561

Animated typing in ~400 bytes 🐡 of JavaScript

29,779

A completely customizable framework for building rich text editors. (Currently in beta.)

Quick Overview

TypeIt is a versatile JavaScript library for creating typewriter effects on websites. It allows developers to easily animate text as if it's being typed out in real-time, with support for various options and customizations.

Pros

  • Easy to use with a simple API
  • Highly customizable with numerous options
  • Supports complex typing sequences, including pausing, deleting, and looping
  • Lightweight and performant

Cons

  • Limited built-in styling options (relies on CSS for advanced styling)
  • May require additional setup for complex animations
  • Documentation could be more comprehensive for advanced use cases

Code Examples

Basic usage:

new TypeIt("#element", {
  strings: "This is a simple example.",
  speed: 50,
  waitUntilVisible: true
}).go();

Chaining multiple actions:

new TypeIt("#element")
  .type("Hello, ")
  .pause(1000)
  .type("world!")
  .delete(6)
  .type("TypeIt!")
  .go();

Using HTML strings:

new TypeIt("#element", {
  strings: ["This is <strong>bold</strong> and <em>italic</em> text."],
  html: true
}).go();

Getting Started

  1. Install TypeIt via npm:

    npm install typeit
    
  2. Import and use in your project:

    import TypeIt from "typeit";
    
    new TypeIt("#myElement", {
      strings: "Your text here",
      speed: 50
    }).go();
    
  3. For usage in a browser without a module bundler, include the script and use the global TypeIt object:

    <script src="https://unpkg.com/typeit@8.7.1/dist/index.umd.js"></script>
    <script>
      new TypeIt("#myElement", {
        strings: "Your text here"
      }).go();
    </script>
    

Competitor Comparisons

15,508

A JavaScript Typing Animation Library

Pros of Typed.js

  • Smaller file size, making it more lightweight
  • Simpler API, easier to get started quickly
  • Better browser compatibility, supporting older versions

Cons of Typed.js

  • Fewer features and customization options
  • Less active development and maintenance
  • Limited support for complex typing animations

Code Comparison

TypeIt:

new TypeIt("#element", {
  strings: "This is a string.",
  speed: 50,
  afterComplete: function (instance) {
    instance.destroy();
  }
}).go();

Typed.js:

var typed = new Typed('#element', {
  strings: ['This is a string.'],
  typeSpeed: 50,
  onComplete: function(self) {
    self.destroy();
  }
});

Both libraries offer similar basic functionality for creating typing animations. TypeIt provides more advanced features and customization options, while Typed.js focuses on simplicity and ease of use. TypeIt has more active development and a larger community, but Typed.js is lighter and may be sufficient for simpler projects. The choice between the two depends on the specific requirements of your project and the level of complexity you need in your typing animations.

A simple yet powerful native javascript plugin for a cool typewriter effect.

Pros of TypewriterJS

  • Simpler API with fewer options, making it easier to get started quickly
  • Smaller file size, which can be beneficial for projects where minimizing bundle size is crucial
  • Supports typing in both forward and reverse directions out of the box

Cons of TypewriterJS

  • Less feature-rich compared to TypeIt, with fewer customization options
  • Limited documentation and examples, which may make advanced usage more challenging
  • Lacks some advanced features like cursor customization and rich text support

Code Comparison

TypewriterJS:

var typewriter = new Typewriter('#element', {
  loop: true,
  delay: 75,
});

typewriter
  .typeString('Hello World!')
  .pauseFor(2500)
  .deleteAll()
  .start();

TypeIt:

new TypeIt("#element", {
  strings: "Hello World!",
  speed: 75,
  loop: true,
})
.pause(2500)
.delete()
.go();

Both libraries offer similar basic functionality for creating typewriter effects. TypewriterJS uses a more method-chaining approach, while TypeIt provides a more configuration-based setup. TypeIt's API is generally more extensive, offering finer control over the typing animation and additional features not present in TypewriterJS.

1,561

Animated typing in ~400 bytes 🐡 of JavaScript

Pros of Typical

  • Smaller bundle size (1.5KB vs. 5KB for TypeIt)
  • Simpler API with fewer options, making it easier to use for basic typing animations
  • Built with modern JavaScript features, potentially offering better performance

Cons of Typical

  • Less feature-rich compared to TypeIt (e.g., no cursor customization or complex typing sequences)
  • Limited documentation and examples
  • Fewer customization options for controlling typing speed and behavior

Code Comparison

TypeIt:

new TypeIt("#element", {
  strings: "This is a typing animation.",
  speed: 50,
  waitUntilVisible: true
}).go();

Typical:

typical("#element", {
  text: "This is a typing animation.",
  delay: 50
});

Both libraries offer simple ways to create typing animations, but TypeIt provides more configuration options out of the box. Typical's API is more concise, which may be preferable for simpler use cases. TypeIt's additional features, such as waiting until the element is visible, showcase its more comprehensive approach to typing animations.

29,779

A completely customizable framework for building rich text editors. (Currently in beta.)

Pros of Slate

  • More comprehensive rich text editing capabilities
  • Supports collaborative editing and real-time updates
  • Highly customizable and extensible architecture

Cons of Slate

  • Steeper learning curve due to its complexity
  • Larger bundle size, which may impact performance
  • Requires more setup and configuration

Code Comparison

TypeIt:

new TypeIt("#element", {
  strings: "This is a simple typing animation.",
  speed: 50,
  waitUntilVisible: true
}).go();

Slate:

const editor = withReact(createEditor())
const [value, setValue] = useState([
  { type: 'paragraph', children: [{ text: 'A line of text in a paragraph.' }] },
])

TypeIt is focused on creating typing animations, while Slate is a full-featured rich text editor framework. TypeIt's API is simpler and more straightforward for its specific use case, whereas Slate offers more flexibility but requires more setup and understanding of its architecture.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

TypeIt

The Most Versatile JavaScript Animated Typing Utility on the Planet

Bundle Size npm downloads Tweet

Overview

TypeIt is the most versatile JavaScript typewriter effect utility on the planet. With its simple yet flexible configuration, you're empowerd to type single or multiple strings that break lines, delete & replace each other, easily handle string containing HTML, loop, and a whole lot more.

For more advanced, controlled typing effects, TypeIt comes with companion functions that can be chained to control your typing down to a single character or millisecond, enabling you to type an dynamic narrative, with complete reign over speed changes, line breaks, deletions, and pauses.

Key Features

  • Offers a beautiful, fluent API for chaining commands in order to fine-tune an effect.
  • Choose to start typing only when your target element becomes visible on the screen.
  • Loop your string(s) continuously.
  • Define strings programmatically or directly in the HTML (a useful fallback in case user doesn't have JavaScript enabled, as well as for SEO).
  • Handle HTML (even nested tags!) with ease, preserving all of its attributes (classes, ids, etc.).
  • Offered as an ES module for modern bundlers, or a UMD library for loading via a traditional <script> tags.

License Options

Using TypeIt for an open source or personal project is completely free is licensed under GPLv3. To use it in a commercial project, however, a paid license is required. Learn more about them here:

Demos

See some more examples and try out the sandbox at https://typeitjs.com.

Documentation

All of TypeIt's documentation can be found at https://typeitjs.com/docs.

Included Packages

  • typeit - The original, vanilla JavaScript library.
  • typeit-react - A simple React package wrapping the vanilla library.

Contribute

Please do! Check out the CONTRIBUTING.md file to see how to get started.

Know of a Neat Site Using TypeIt?

I'd love to see and share it! Send me a message or tweet at me.

Need Help?

If you're working with a custom implementation of TypeIt and would like some help, I'm available for hire. Get in touch!

NPM DownloadsLast 30 Days