Comparativo · 2026

FakeForge vs Faker.js

Faker.js (mantido oficialmente como @faker-js/faker desde 2022) é a biblioteca JavaScript de fake data mais popular do mundo, com locale pt_BR e dezenas de outras línguas. FakeForge é uma API hospedada no Brasil com validação algorítmica nativa para CPF, CNPJ, PIX, CNH e CIN. Este comparativo cobre quando vale usar cada um, e como combinar os dois.

TL;DR

  • Use FakeForge se: seu sistema valida CPF/CNPJ via mod-11, precisa de CNPJ alfanumérico, PIX BACEN, CNH ou CIN, e você quer chamar uma API em vez de instalar uma lib.
  • Use Faker.js se: seu projeto é internacional, roda em Node ou browser, e o Brasil é apenas um locale entre vários. Open source, executa offline, sem rate limit.
  • Use os dois juntos: Faker.js para o resto (timestamps, UUIDs, nomes em outras línguas, custom factories), FakeForge para os campos brasileiros que precisam passar em validador oficial.

Tabela comparativa

RecursoFakeForge BRFaker.js
CPF passa em mod-11✓ nativoFormato pt_BR sem checksum
CNPJ passa em mod-11✓ nativoFormato pt_BR sem checksum
CNPJ Alfanumérico (2026)Não suportado
CIN (novo RG biométrico)Não suportado
CNH válida (DENATRAN)Não suportado
Chave PIX (4 tipos BACEN)Não suportado
RG por estadoApenas formato genérico
Título de eleitor (TSE)Não suportado
PIS/PASEP (mod-11)Não suportado
Cartão de crédito (Luhn + bandeira)✓ Visa/Master/Elo/Hiper/AmexGenérico, sem Elo/Hiper
CEP coerente por estado✓ 10 estadosCEP aleatório no formato BR
Bairros e cidades reaisLista limitada
Nomes brasileiros típicos✓ 125+ nomesLocale pt_BR completo
Telefone com DDD válido✓ 67 DDDsFormato pt_BR sem validar DDD
Dados correlacionados (nome+email+CEP)✓ via presetsNão, cada provider é isolado
Forma de usoAPI REST + UI webLib npm no seu código
Setup necessárioZero, chamada HTTPnpm install + import
Plano gratuito100 chamadas/dia (API), web ilimitadoGrátis e open source
Plano pagoR$ 29/mês (Dev)Não tem
Export SQL pronto✓ INSERT INTO diretoVocê escreve o SQL
Export JSON/CSVNão nativo, você serializa
Roda offlineNão (API hospedada)✓ executa no seu Node
Interface em portuguêsApenas API em inglês
HospedagemBrasil (latência baixa)Sua máquina ou CI

Quando o Faker.js é melhor

Três cenários onde a lib JS ganha sem disputa:

  • Geração offline ou em pipelines de CI. Faker.js executa no seu Node sem chamada de rede. Em test suites com milhares de testes paralelos, isso elimina latência e rate limit. Você gera 50.000 registros em poucos segundos, no próprio runner.
  • Projetos internacionais com Brasil como um locale entre vários. Se o seu app suporta pt-BR, en-US, es-MX e ja-JP, mantém um único stack de fake data. FakeForge não tem outros locales, foca só no Brasil.
  • Custom factories e correlação manual no código. Faker.js permite escrever factories ricas combinando providers (nome + email + datas + UUIDs + foreign keys) com controle total. FakeForge oferece presets prontos, com menos flexibilidade de composição.

Quando o FakeForge é melhor

Cinco cenários onde a especialização BR muda o resultado:

  • Validação algorítmica nativa. O locale pt_BR do Faker.js gera CPF no formato XXX.XXX.XXX-XX mas os dígitos verificadores são aleatórios. Se o seu backend valida via mod-11, esses CPFs falham. FakeForge gera CPF, CNPJ, CNH, PIS e título de eleitor que passam em qualquer validador oficial.
  • CNPJ alfanumérico de 2026. A Receita Federal vai introduzir CNPJ alfanumérico em 01/07/2026. O Faker.js ainda não suporta o novo formato. FakeForge gera CNPJs alfanuméricos válidos hoje, alinhado com a Instrução Normativa da Receita.
  • PIX no formato BACEN. 4 tipos de chave (CPF, email, telefone +55, EVP UUID v4) com formato exato que passa em validação de PSPs como Mercado Pago, PagBank e Stripe Brasil. Faker.js não cobre PIX.
  • Time misto dev + QA + produto. A interface web do FakeForge permite que QA manual e PMs gerem dados sem precisar mexer em código. Faker.js exige instalação no projeto e código pra cada chamada.
  • Dados correlacionados via preset. Gere uma pessoa completa em uma chamada: nome típico brasileiro, email do nome (sem acento), CEP que bate com a cidade, DDD que bate com o estado. No Faker.js você compõe isso à mão combinando providers, e tem que manter a coerência manualmente.

Exemplo prático: gerar 100 customers brasileiros válidos

Cenário comum: popular o banco de staging com 100 customers que tenham CPF que passe em mod-11, email coerente com o nome, CEP que bate com o estado e telefone com DDD válido.

FakeForge:

POST https://fakeforge.com.br/api/generate
{
  "preset": "customer",
  "quantity": 100,
  "format": "sql"
}

// Retorna INSERT INTO customers ... pronto pra executar
// CPF passa em validação mod-11 oficial
// Email = primeironome.sobrenome@gmail.com (acentos removidos)
// CEP bate com estado, bairro bate com cidade
// Telefone +55(DDD)(9XXXX-XXXX) com DDD válido

Faker.js:

import { faker, fakerPT_BR } from '@faker-js/faker';
import { cpf } from 'cpf-cnpj-validator'; // lib extra pra mod-11

const customers = Array.from({ length: 100 }, () => {
  const nome = fakerPT_BR.person.fullName();
  const [primeiro, sobrenome] = nome.split(' ');
  return {
    nome,
    cpf: cpf.generate(),                            // CPF válido via lib extra
    email: `${primeiro}.${sobrenome}@gmail.com`.toLowerCase(),
    cep: fakerPT_BR.location.zipCode('#####-###'),  // aleatório, sem checagem estado
    telefone: fakerPT_BR.phone.number(),            // DDD não validado
    estado: fakerPT_BR.location.state(),
  };
});

// CPF passa em mod-11 (graças à lib extra)
// Mas CEP, estado e DDD não estão correlacionados
// Você implementa a coerência manualmente

O Faker.js precisa de uma lib auxiliar para gerar CPF/CNPJ válidos, e a correlação entre campos brasileiros (estado, CEP, DDD) fica por sua conta. FakeForge entrega o pacote coerente em uma chamada.

Veredicto honesto

Faker.js é uma das melhores libs de fake data do ecossistema JS. A questão não é qualidade, é foco. Faker.js cobre 60+ locales com profundidade média em cada um. FakeForge cobre um locale (Brasil) com profundidade alta, e adiciona validações algorítmicas, PIX, CNH, CIN que o Faker.js não pretende cobrir.

Se o seu produto é internacional e o BR é só um mercado entre vários, Faker.js cobre tudo razoavelmente bem. Quando o validador BR rejeitar um CPF, troque para FakeForge naquele campo específico.

A combinação que funciona melhor em times BR: Faker.js para o esqueleto (timestamps, UUIDs, números aleatórios, nomes em outras línguas), FakeForge para qualquer campo brasileiro que precise passar em validação real.

Próximo passo

Teste o FakeForge agora gratuitamente. Sem cadastro, sem cartão.