Glitch is the friendly community where you'll build the app of your dreams

Stuff we're asked a lot

How much does it cost?

Glitch is free to use (with some resource restrictions, see below). We expect that but we may charge for premium services or capabilities in the future, but the stuff you can do now will stay free.

Why can I trust building projects on Glitch?

You can get a zip of your code in Glitch, or export it to GitHub and it’ll work without any changes on other services (go to ‘Advanced Options’ from the top-left ‘Project Info’ menu). We’re made by Fog Creek, a profitable business that has been around for over 17 years – so you don’t have to worry about us being some flighty startup.

What technical restrictions are in place?

While we want to keep Glitch as open as possible, there are a few restrictions in place. These are there to help maintain service levels for all, and to stop someone’s accidental infinite loop somehow costing us a small fortune. The restrictions include:

If you get stuck trying to work within these limits, let us know! We’ll work something out for you.

What languages and frameworks are supported?

Currently, we only support Node.js. All Node packages should work fine (just require them and include them in your package.json file), see our community projects for some examples. If you encounter any problems please let us know on the forum.

What’s "remixing"?

When you remix a project on Glitch, you’re creating a copy of an existing project that you’re then able to edit and make any changes that you want to. So for example, we provide a number of community projects that provide examples of ways of doing specific things in Glitch that you can remix to get started on a web app quickly.

Note that for security reasons, the .env and contents of the .data aren’t copied when a project is remixed.

Do you have built-in persistence or a database?

We have a persistent file system, so anything you store within your project is kept. This means you can use files as a flat file database, or save your database files locally (see our SQLite3 and NeDB examples). You can also use third-party storage services, like a hosted MongoDB database or Redis (see our MongoDB example).

We recommend creating a folder called .data a safe place to store your database files. This folder isn’t copied when a project is remixed.

How do you store secrets/credentials or private data?

.env a secure environment config section in your projects, useful for storing API keys and app credentials. Only invited collaborators are able to see the contents of your .env file. So anonymous viewers or logged-in users who haven’t been invited to your project can’t see them. When remixing an app the values are cleared so they’re not copied across.

In addition, creating a folder called .data a safe place to store your database files. This folder isn’t copied across when a project is remixed.

Do you import or export from GitHub?

Yep! You can import and export your code to and from GitHub (full details here). You can also download your source code as a zip. Both options are available under ‘Advanced Options’ from the top-left ‘Project Info’ menu. Glitch code isn’t special in anyway – it should work without any changes on other services, so you’re not locked in. If you've signed in with Facebook, you'll need to also sign in with GitHub to use these features.

Do you support custom domain names?

Not yet! But it's easy to change your custom subdomain. For now, if you need a custom domain, you can use the following workaround to be able to use your own domain name for a Glitch project: https://blog.fogcreek.com/how-to-configure-a-custom-domain-for-hyperdev-projects/

What environment variables are available in a project?

Aside from those you specify yourself in the .env file in your project, the following environment variables are available to all projects:

Can I change which files cause my app to restart?

Yes, you can add a file called `watch.json` to your app, and the settings it contains will override the default install and restart trigger files and timings. This means that you can specify which files trigger a container restart or install when edited, as well as change the delay time between making edits and those changes being applied. For more information, see watch-json.

Don’t see your question answered?

Ask it on the forum drop us an email.

beta