Components / Prompt Builders
Prompt Token Counter
A real-time token counter that estimates the context window usage for various AI models.
Components / Prompt Builders
A real-time token counter that estimates the context window usage for various AI models.
Total Count
1,242
Cost Est.
$0.0034
842
400
Install the core libraries required for this component.
npm install react lucide-react"use client";
import React from "react";
import { Coins, HardDrive, Cpu } from "lucide-react";
export default function PromptTokenCounter() {
return (
<div className="rounded-xl border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 p-6 shadow-sm w-full max-w-xs mx-auto overflow-hidden">
<div className="flex items-center gap-2 mb-8">
<Coins className="h-4 w-4 text-zinc-500" />
<h3 className="text-sm font-bold text-zinc-900 dark:text-zinc-100 uppercase tracking-widest">Token Metrics</h3>
</div>
<div className="space-y-6">
<div className="flex items-end justify-between border-b border-zinc-100 dark:border-zinc-800 pb-4">
<div>
<p className="text-[10px] font-black text-zinc-400 uppercase tracking-widest mb-1">Total Count</p>
<p className="text-3xl font-black text-zinc-900 dark:text-zinc-100">1,242</p>
</div>
<div className="text-right">
<p className="text-[10px] font-black text-emerald-500 uppercase tracking-widest mb-1">Cost Est.</p>
<p className="text-sm font-bold text-zinc-900 dark:text-zinc-100">$0.0034</p>
</div>
</div>
<div className="grid grid-cols-2 gap-4">
<div className="p-3 rounded-xl bg-zinc-50 dark:bg-zinc-900 border border-zinc-100 dark:border-zinc-800">
<div className="flex items-center gap-2 mb-2">
<HardDrive className="h-3 w-3 text-zinc-400" />
<span className="text-[10px] font-bold text-zinc-400">Input</span>
</div>
<p className="text-sm font-black text-zinc-900 dark:text-zinc-100">842</p>
</div>
<div className="p-3 rounded-xl bg-zinc-50 dark:bg-zinc-900 border border-zinc-100 dark:border-zinc-800">
<div className="flex items-center gap-2 mb-2">
<Cpu className="h-3 w-3 text-zinc-400" />
<span className="text-[10px] font-bold text-zinc-400">Cache</span>
</div>
<p className="text-sm font-black text-zinc-900 dark:text-zinc-100">400</p>
</div>
</div>
<div className="pt-2">
<div className="flex items-center justify-between mb-2">
<span className="text-[10px] font-bold text-zinc-400 uppercase tracking-tighter">Context Window Utilization</span>
<span className="text-[10px] font-bold text-zinc-600">0.8%</span>
</div>
<div className="h-1.5 w-full bg-zinc-100 dark:bg-zinc-800 rounded-full overflow-hidden">
<div className="h-full w-[0.8%] bg-zinc-900 dark:bg-zinc-100 transition-all duration-1000" />
</div>
</div>
</div>
</div>
);
} "use client";
import React from "react";
import { Coins, HardDrive, Cpu } from "lucide-react";
export default function PromptTokenCounter() {
return (
<div className="rounded-xl border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 p-6 shadow-sm w-full max-w-xs mx-auto overflow-hidden">
<div className="flex items-center gap-2 mb-8">
<Coins className="h-4 w-4 text-zinc-500" />
<h3 className="text-sm font-bold text-zinc-900 dark:text-zinc-100 uppercase tracking-widest">Token Metrics</h3>
</div>
<div className="space-y-6">
<div className="flex items-end justify-between border-b border-zinc-100 dark:border-zinc-800 pb-4">
<div>
<p className="text-[10px] font-black text-zinc-400 uppercase tracking-widest mb-1">Total Count</p>
<p className="text-3xl font-black text-zinc-900 dark:text-zinc-100">1,242</p>
</div>
<div className="text-right">
<p className="text-[10px] font-black text-emerald-500 uppercase tracking-widest mb-1">Cost Est.</p>
<p className="text-sm font-bold text-zinc-900 dark:text-zinc-100">$0.0034</p>
</div>
</div>
<div className="grid grid-cols-2 gap-4">
<div className="p-3 rounded-xl bg-zinc-50 dark:bg-zinc-900 border border-zinc-100 dark:border-zinc-800">
<div className="flex items-center gap-2 mb-2">
<HardDrive className="h-3 w-3 text-zinc-400" />
<span className="text-[10px] font-bold text-zinc-400">Input</span>
</div>
<p className="text-sm font-black text-zinc-900 dark:text-zinc-100">842</p>
</div>
<div className="p-3 rounded-xl bg-zinc-50 dark:bg-zinc-900 border border-zinc-100 dark:border-zinc-800">
<div className="flex items-center gap-2 mb-2">
<Cpu className="h-3 w-3 text-zinc-400" />
<span className="text-[10px] font-bold text-zinc-400">Cache</span>
</div>
<p className="text-sm font-black text-zinc-900 dark:text-zinc-100">400</p>
</div>
</div>
<div className="pt-2">
<div className="flex items-center justify-between mb-2">
<span className="text-[10px] font-bold text-zinc-400 uppercase tracking-tighter">Context Window Utilization</span>
<span className="text-[10px] font-bold text-zinc-600">0.8%</span>
</div>
<div className="h-1.5 w-full bg-zinc-100 dark:bg-zinc-800 rounded-full overflow-hidden">
<div className="h-full w-[0.8%] bg-zinc-900 dark:bg-zinc-100 transition-all duration-1000" />
</div>
</div>
</div>
</div>
);
} Internal functions used to handle component logic.
| Function | Parameters |
|---|---|
| PromptTokenCounter() | None |
Every JSX/HTML tag used in this component, with usage count and source.
| Tag | Count | Type | Source |
|---|---|---|---|
| <Coins> | 1× | | lucide-react |
| <Cpu> | 1× | | lucide-react |
| <HardDrive> | 1× | | lucide-react |
| <div> | 15× | | Native HTML |
| <h3> | 1× | | Native HTML |
| <p> | 6× | | Native HTML |
| <span> | 4× | | Native HTML |